康达4.2.13 MacOSX 10.12.1
我正在尝试将软件包安装pip到使用anaconda创建的新环境(虚拟)中。 在Anaconda文档中,这说得很好。它的完成方法与virtualenv相同。
pip
激活要放置程序的环境,然后pip安装程序…
我在Ananconda中创建了一个空环境,如下所示:
conda create -n shrink_venv
激活它:
source activate shrink_venv
然后,我可以在终端中看到我正在环境中工作(shrink_venv)。当我尝试使用安装软件包时,出现了问题pip:
(shrink_venv)
(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,并且由于文档说还可以。
conda install
输出which -a pip:
which -a pip
/usr/local/bin/pip /Users/my_user/anaconda/bin/pip
更新我看到这是很常见的问题。我发现,conda env在PYTHONPATH中的表现不佳。即使您使用的是conda环境,该系统似乎也总是在PYTHONPATH位置中查找。现在,我总是unset PYTHONPATH在使用conda环境时运行,并且效果更好。我在Mac上。
unset PYTHONPATH
对于遇到这种情况的其他人,我发现这是最直接的解决方案:
运行conda create -n venv_name和source activate venv_name,venv_name您的虚拟环境的名称在哪里。
conda create -n venv_name
source activate venv_name
venv_name
运行conda install pip。这会将pip安装到您的venv目录。
conda install pip
找到您的anaconda目录,并找到实际的venv文件夹。它应该在类似的地方/anaconda/envs/venv_name/。
/anaconda/envs/venv_name/
进行安装新软件包/anaconda/envs/venv_name/bin/pip install package_name。
/anaconda/envs/venv_name/bin/pip install package_name
现在,这应该可以使用该虚拟环境的pip成功安装软件包!