Using Pip to install packages to Anaconda Environment
conda 4.2.13
MacOSX 10.12.1
我正在尝试将包从
Activate the environment where you want to put the program, then pip install a program...
我在Ananconda中创建了一个空的环境,如下所示:
1 | conda create -n shrink_venv |
激活它:
1 | source activate shrink_venv |
然后我可以在终端中看到我在我的env
1 2 3 | (shrink_venv): pip install Pillow Requirement already satisfied (use --upgrade to upgrade): Pillow in /Library/Python/2.7/site-packages |
所以我可以看到它认为从系统范围的包中满足要求。所以看起来环境工作不正常,绝对不像文档中说的那样。我在这里做错了吗?
只是一个注意事项,我知道你可以使用
输出
1 2 | /usr/local/bin/pip /Users/my_user/anaconda/bin/pip |
**更新**
我觉得这是很常见的问题。我发现conda env与PYTHONPATH的效果不佳。即使您使用conda环境,系统似乎总是在PYTHONPATH位置查看。现在,我总是在使用conda环境时运行
对于遇到这种情况的其他人,我发现这是最直接的解决方案:
运行
运行
找到您的anaconda目录,找到实际的venv文件夹。它应该像
执行
现在应该使用该虚拟环境的pip成功安装软件包!
您所要做的就是打开Anaconda Prompt并输入
1 | pip install package-name |
它将自动安装到anaconda环境而无需使用
1 | conda install package-name |
由于某些conda软件包可能缺乏支持超时,因此需要使用pip进行安装,这是一种方法
如果你在anaconda中安装了pip,你可以在jupyter笔记本或链接到anaconda的python shell中运行以下命令
1 | pip.main(['install', 'package-name']) |
使用
1 | subprocess.check_call([sys.executable, '-m', 'pip', 'install', '--upgrade', 'package-name']) |
在你的jupyter笔记本中,你可以通过pip在这个单元格中安装python包;
1 | !pip install package-name |
或者您可以使用与anaconda相关联的python版本
1 | !python3.6 -m pip install package-name |
如果在创建conda环境时没有添加pip
1 | conda create -n env_name pip |
并且没有在环境中安装pip
1 2 | source activate env_name conda install pip |
那么你得到的唯一点是系统点,它将全局安装包。
你可以在这个问题中看到总线,即使你做了上面提到的任何一个过程,在conda环境中pip的行为仍然是未定义的。
为了确保使用安装在conda环境中的pip而不必输入冗长的
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | # Using pip to install packages inside conda environments. cpip() { ERROR_MSG="Not in a conda environment." ERROR_MSG="$ERROR_MSG Use \`source activate ENV\`" ERROR_MSG="$ERROR_MSG to enter a conda environment." [ -z"$CONDA_DEFAULT_ENV" ] && echo"$ERROR_MSG" && return 1 ERROR_MSG='Pip not installed in current conda environment.' ERROR_MSG="$ERROR_MSG Use \`conda install pip\`" ERROR_MSG="$ERROR_MSG to install pip in current conda environment." [ -e"$CONDA_PREFIX/bin/pip" ] || (echo"$ERROR_MSG" && return 2) PIP="$CONDA_PREFIX/bin/pip" "$PIP""$@" } |
希望这对你有所帮助。
对于那些希望使用pip在conda中安装少量软件包然后使用的人,
1 | sudo $(which pip) install <instert_package_name> |
为我工作。
Explainaton
无论如何,对我来说,似乎
使用
如果您使用的是Windows操作系统,请打开Anaconda Prompt并输入
如果你正在使用mac或Linux OS打开终端并输入
键入上面的命令后,您必须在控制台输出中看到您的环境名称从
然后你需要做的就是普通的
通过这样做,pip包将安装在您的Conda环境中
我在anaconda上安装一个非conda软件包时遇到了问题,我在这里听到了最喜欢的答案,但它并不顺利(也许是因为我的anaconda在F目录中并且创建的env是在C中并且没有创建bin文件夹,我不知道,但它不起作用)。
根据anaconda pip已经安装了(在anaconda提示符下使用命令"
1 2 | conda install pip pip install see |
我通过以下方式解决了这个问题:
如果你有一个非conda点作为你的默认点,但conda python是你的默认python(如下所示)
1 2 3 4 5 6 7 8 | >which -a pip /home/<user>/.local/bin/pip /home/<user>/.conda/envs/newenv/bin/pip /usr/bin/pip >which -a python /home/<user>/.conda/envs/newenv/bin/python /usr/bin/python |
然后而不是只是打电话
1 | python -m pip install <package> |
这会将软件包安装到anaconda库目录而不是与(非anaconda)pip相关联的库目录
以上所有答案主要基于virtualenv的使用。我刚刚安装了anaconda3并且没有安装任何virtualenv。所以,我找到了一个更好的替代方案,而不用担心创建virtualenv。
如果您在linux中安装了许多pip和python版本,那么首先运行以下命令列出所有已安装的pip路径。
whereis pip
你会得到这样的东西作为输出。
pip: /usr/bin/pip
/home/prabhakar/anaconda3/bin/pip /usr/share/man/man1/pip.1.gz
复制要用于安装软件包的pip路径,并在sudo替换
sudo
/home/prabhakar/anaconda3/bin/pip install
这对我很有用。如果您在安装时遇到任何问题,请发表评论。
只需
如果你只想安装conda。只需从PATH变量中删除所有其他python路径。
仅离开:
1 2 3 | C:\ProgramData\Anaconda3 C:\ProgramData\Anaconda3\Scripts C:\ProgramData\Anaconda3\Library\bin |
这允许您只使用