如何不使用pip将软件包安装到anaconda

how to not install package with pip to anaconda

我对 pip 有疑问。

当我想安装一些包时,比如flask,它想把它安装到/anaconda3。

juldou@juldou-machine:~$ pip install flask
Requirement already satisfied (use --upgrade to upgrade): flask in ./anaconda3/lib/python3.5/site-packages

我知道我已经有了 flask,但我不想将它安装到 anaconda 上。

如何退出anaconda的pip并设置其他环境,或者如何处理? 对不起,但我不明白概念的基础知识。

命令 pip 属于安装它的任何 python 环境。当您 运行 命令时执行的确切二进制文件由您的 PATH 环境变量和其他任何内容决定可执行文件首先被找到并被执行。在您的情况下,您的 Anaconda 环境位于系统 python 之前的 PATH 中。如果你有一个 virtualenv 或 conda 子环境并且想使用它们的可执行文件,那么 "activating" 这些环境应该使它们可用。

因此您的选择是指定 pippython 的完整路径以及您想要从非 anaconda 环境 运行 的任何可执行文件:

/path/to/my_other_env/bin/pip install flask

或者不将 Anaconda 添加到您的 PATH(最有可能在您的 .bashrc 或 .bash_profile 中)或者在您的 PATH 前面加上您的非 anaconda 的 bin 目录的路径:

export PATH=/path/to/my_other_env/bin:$PATH
pip install flask

但是,这样做会破坏您使用 Anaconda 的正常工作流程,因此以下内容可能不再有效:

source activate <conda-env>

如果您从 PATH 中完全删除了 Anaconda,那么您也将无法在不指定完整路径的情况下找到 conda 命令:

/path/to/anaconda/bin/conda update ...