我是Anaconda Python的新手,我正在Sublime Text 3中设置一个项目.我已经安装了Anaconda并使用以下方法创建了一个虚拟环境:
conda create -n python27 python=2.7 anaconda
conda create -n python35 python=3.5 anaconda
Run Code Online (Sandbox Code Playgroud)
我在设置SublimeText 3的Virtualenvs插件时遇到了麻烦.当我尝试时,它要求我提供一个virtualenvs路径__CODE__
,然后它询问我假设的是一个python发布的路径,因为它列出了文件路径python的系统版本 - 但不是anaconda安装.
我没有真正想要使用插件,我只是想能够使用两个版本的python.我可以使用项目设置文件来设置python的版本吗?
问题:
我安装了Anaconda:
conda -V
conda 4.4.7
Run Code Online (Sandbox Code Playgroud)
我还为它安装了很多软件包python3 setup.py install
.我用它来创建一些从setup.py
文件创建的包.
现在我想卸载一个包.
我尝试了什么:
pip uninstall packageName
pip3 uninstall packageName
conda uninstall packageName
Run Code Online (Sandbox Code Playgroud)
它适用于python:check pip list
并且pip3 list
没有这样的包.
错误:
但是对于conda,我得到了这个:
conda uninstall packageName
Solving environment: failed
PackagesNotFoundError: The following packages are missing from the target environment:
- packageName
Run Code Online (Sandbox Code Playgroud)
让我们检查:
conda list
packageName
Run Code Online (Sandbox Code Playgroud)
PS我在这种情况下发现信息conda uninstall
并且conda remove
不起作用.但那该怎么办?
PSS其实我改变了真正的包名,packageName
但如果这个信息很重要,我会添加它.
我的信息:
conda info
active environment : None
user config file : /home/masamok4/.condarc
populated config files …
Run Code Online (Sandbox Code Playgroud) 我们有一台有多个(自动)用户的计算机。(在 Microsoft Azure 上)。
如果我们尝试pip install
在由其他用户创建的 conda 环境中使用,我们会收到“访问被拒绝”错误。
我们已经使用以下命令以管理员身份安装了 anaconda:
C:\Windows\Temp\Anaconda3.exe /InstallationType=AllUsers /AddToPath=1 /RegisterPython=1 /S
Run Code Online (Sandbox Code Playgroud)
如果我使用一个用户创建一个 condaenv,比如说_azbatchtask_20,我们就可以激活它,在里面安装包,然后停用它:
conda create -p D:\batch\tasks\shared\test-condaenv-users python=3.7 -y
conda activate D:\batch\tasks\shared\test-condaenv-users
pip install see
deactivate
Run Code Online (Sandbox Code Playgroud)
但是,如果我们现在在_azbatchtask_21下登录,并尝试在同一环境中安装新软件包,我们会收到奇怪的错误“访问被拒绝”:
conda activate D:\batch\tasks\shared\test-condaenv-users
Run Code Online (Sandbox Code Playgroud)
有效,但是:
pip install nltk
> Access is denied
Run Code Online (Sandbox Code Playgroud)
如果有用,我们使用以下命令检查了新创建的 condaenv 文件夹的权限
icacls D:\batch\tasks\shared\test-condaenv-users
NT AUTHORITY\SYSTEM:(I)(F)
NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
ae0f56229000000\_azbatch:(I)(F)
ae0f56229000000\_azbatch:(I)(OI)(CI)(IO)(F)
BUILTIN\Administrators:(I)(F)
BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
ae0f56229000000\WATASK_COMMON_GROUP:(I)(F)
ae0f56229000000\WATASK_COMMON_GROUP:(I)(OI)(CI)(IO)(F)
NT AUTHORITY\Authenticated Users:(I)(F)
NT AUTHORITY\Authenticated Users:(I)(OI)(CI)(IO)(F)
Run Code Online (Sandbox Code Playgroud)
我们还尝试使用以下命令向所有人授予完全权限(但pip install
此后仍然失败)
icacls D:\batch\tasks\shared\test-condaenv-users /grant "Everyone:(OI)(CI)F" /T …
Run Code Online (Sandbox Code Playgroud) 昨天,我想完成一个使用metaknowledge
. (Anaconda 下的 Python 3;Win 10。)
因此,conda install -c conda-forge metaknowledge
进入一个几乎全新的环境,一天后,我检查冲突的进度已完成 22%。
有更明智的方法来进行吗?
conda create
如果我每次想玩一个新包,这会快多少?miniconda
?mamba
?官方文档和此博客位于同一网站 - 建议安装尽可能多的需求,conda
然后使用 pip。显然这是因为conda
将不知道对依赖项所做的任何更改pip
,因此无法正确解析依赖项。
现在,如果一个人专门使用pip
并且不安装任何东西conda
,那么似乎有理由期望conda
不需要知道所做的任何更改pip
- 因为conda
实际上变成了一个隔离依赖项和管理版本的工具。然而,这违背了官方建议,因为人们不会安装尽可能多的要求conda
。
所以问题仍然存在:在环境中专门使用是否有任何已知的缺点?pip
conda
此处触及了一些类似的主题,但不涵盖专门在环境中使用的情况。我也来过这里:pip
conda
我正在使用conda版本4.5.11,python 3.6.6和Windows 10。
我使用conda创建虚拟环境
conda create --name venv
Run Code Online (Sandbox Code Playgroud)
当我检查已安装的软件包时
conda list
Run Code Online (Sandbox Code Playgroud)
(如预期)是空的。
但
pip list
Run Code Online (Sandbox Code Playgroud)
很长
问题1:为什么?-当我使用创建虚拟环境时
python -m venv venv
Run Code Online (Sandbox Code Playgroud)
点列表为空。
当我不在激活的虚拟环境中时,
conda list
Run Code Online (Sandbox Code Playgroud)
也很长,但它与点子列表不同(*请参见下文),通常,点子列表是conda列表的子集。至少有一个例外(pip列表中的“ tables”,而不是conda列表中的“ tables”),但我并没有进行太仔细的分析。康达列表会更改/显示一些(所有?)连字符以加下划线(或pip则相反)。还有一些版本不同的实例。
问题2:为什么?(以及后续问题-可以吗?我应该在意吗?)
我希望有一个基线conda“环境”(可能不是正确的词)-即,我已经安装/更新到Ananconda / conda的软件包,然后所有虚拟环境都将被从中删除。如果我需要安装新的东西,它将首先安装到基准中。仅当我需要使用与基准不同版本的软件包创建应用程序时(在可预见的将来我不会设想),才需要以不同的方式更新虚拟环境。
问题3:我是否对此进行了思考?我正在寻找一致性,并希望理解。
- 谢谢。克雷格
后续#1:将一些软件包安装到空的conda venv之后,conda列表和pip列表的结果仍然不同,但是pip列表比以前短得多,但只是conda列表的一个子集(不是包括两个我不使用的软件包,所以我不在乎)
后续#2:在空环境中,我运行了一些代码
python my-app.py
Run Code Online (Sandbox Code Playgroud)
并为它运行无误而感到惊讶。不出所料,当我安装一个软件包(pytest)时,由于缺少依赖项,它无法运行。所以...空不为空。
我正在寻找一种简单的方法来在python 3中解码png格式的QR码。我发现的许多先前答案似乎仅适用于python2。例如,qrtools包不起作用,因为zbar不适用于python。 3。
如果有人可以建议要使用的软件包并提供有关如何解码QR码的基本示例,这将非常有帮助。
anaconda ×5
python ×5
python-3.x ×4
conda ×3
pip ×3
virtualenv ×2
osx-yosemite ×1
qr-code ×1
sublimetext3 ×1