康达 4.2.13 MacOSX 10.12.1
我正在尝试将软件包从 pip
安装到使用 anaconda 创建的全新环境(虚拟)中。 在 Anaconda 文档 中,它说这很好。它的完成方式与 virtualenv 相同。
激活要放置程序的环境,然后 pip install a program…
我在 Ananconda 中创建了一个空环境,如下所示:
conda create -n shrink_venv
激活它:
source activate shrink_venv
然后我可以在终端中看到我正在我的环境中工作 (shrink_venv)
。当我尝试使用 pip
安装软件包时,问题出现了:
(shrink_venv): pip install Pillow
Requirement already satisfied (use --upgrade to upgrade): Pillow in /Library/Python/2.7/site-packages
所以我可以看到它认为系统范围的包满足了要求。所以看起来环境工作不正常,绝对不像文档中所说的那样。我在这里做错了吗?
请注意,我知道您可以使用 conda install
作为软件包,但是我对 anaconda 的 Pillow 有疑问,所以我想从 pip
获取它,并且由于文档说那很好。
which -a pip
的输出:
/usr/local/bin/pip
/Users/my_user/anaconda/bin/pip
\*\* 更新 \*\* 我看到这是很常见的问题。我发现 conda env 不能很好地与 PYTHONPATH 配合使用。即使您使用 conda 环境,系统似乎总是在 PYTHONPATH 位置中查找。现在,在使用 conda 环境时,我总是运行 unset PYTHONPATH
,它的效果要好得多。我在Mac上。
原文由 jeffery_the_wind 发布,翻译遵循 CC BY-SA 4.0 许可协议
对于遇到这种情况的其他人,我发现这是最直接的解决方案:
运行
conda create -n venv_name
和conda activate venv_name
,其中venv_name
是您的虚拟环境的名称。运行
conda install pip
。这会将 pip 安装到您的 venv 目录。找到您的 anaconda 目录,然后找到实际的 venv 文件夹。它应该在
/anaconda/envs/venv_name/
之类的地方。通过执行
/anaconda/envs/venv_name/bin/pip install package_name
安装新软件包。现在应该使用该虚拟环境的 pip 成功安装软件包!