无法在Anaconda中使用pip安装软件包

22

我刚刚在Mac OSX Mavericks上下载并安装了anaconda 3.6.2,现在需要安装一个名为seaborn的包,这个包并没有预先安装在anaconda中。

$ conda install seaborn
Fetching package metadata: ..
Error: No packages found in current osx-64 channels matching: seaborn

You can search for this package on Binstar with

    binstar search -t conda seaborn

You may need to install the Binstar command line client with

    conda install binstar

接下来我尝试使用pip安装这个包。

$ which pip
/Users/username/anaconda/bin/pip

$ pip install seaborn
Could not find an activated virtualenv (required).

尝试再次激活root Anaconda环境,但仍然无法工作。
$ source activate root
discarding /Users/username/anaconda/bin from PATH
prepending /Users/username/anaconda/bin to PATH

$ pip install seaborn
Could not find an activated virtualenv (required).

接下来我尝试激活虚拟环境,pip install生效了。

workon testEnv
pip install seaborn

我从Anaconda的启动器中启动了iPython笔记本。但似乎找不到seaborn包!

seaborn包是否已经安装?

进入图像描述

~/bashprofile中,我有:

# virutalenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
source /Users/username/.virtualenvs/datasci/bin/virtualenvwrapper.sh

# added by Anaconda 2.0.1 installer
export PATH="/Users/username/anaconda/bin:$PATH"

更新

删除了2个virtualenvwrapper行,重新加载了.bash_profile,但是pip install仍然出现错误:Could not find an activated virtualenv (required).激活其他conda环境source activate testenv也没有帮助。

$ source activate ~/.bash_profile
$ pip install seaborn
Could not find an activated virtualenv (required).

$ source activate testenv
discarding /Users/username/anaconda/bin from PATH
prepending /Users/username/anaconda/envs/testenv/bin to PATH
$ pip install seaborn
Could not find an activated virtualenv (required).

你解决了这个问题吗? - user3378649
5个回答

29

您需要安装Anaconda版本的pip。只需运行:

conda install pip

这将在已激活的conda环境中安装pip


4
在执行"conda install pip"命令后,我发现需要先停用当前环境再重新激活才能在该conda环境中使用pip。症状是虽然'which pip'显示了anaconda下正确的可执行文件路径,但它实际上指向了"/usr/local/lib/python2.7/site-packages"。通过停用/激活操作可以解决这个问题。 - hypotechguy
2
另外一件你可以做的事情是在创建conda环境时安装pip。只需将pip附加到您的conda create命令的末尾即可。 - Mark Unsworth

24

我在Mac上安装ggplot时遇到了同样的问题。 如果你从终端执行以下命令:

/anaconda/bin/pip install module_name

它有效。希望能对你有所帮助!

MC


我和发帖者有类似的问题。但是在//anaconda/bin/pip中我没有pip可执行文件,我只有一个conda-pipbuild可执行文件。但是如果我运行conda install pip,它会显示所有请求的软件包都已安装。 #在//anaconda环境中的软件包: - Ben
3
我刚刚执行了 ~/Anaconda/envs/env_name/bin/pip install module_name 命令安装了一个模块。 - Clever Programmer

3

从您的 bashprofile 中删除 virtualenvwrapper 行。使用 Anaconda 时,您应该使用 conda 环境而不是 virtualenvs,使用 virtualenvs 可能会破坏您的 conda 环境。


删除了2个virtualenvwrapper行,通过使用source ~/.bash_profile重新加载了.bash_profile。 pip install仍然会出现错误Could not find an activated virtualenv (required)。激活另一个conda环境source activate testenv也没有帮助。 - Nyxynyx
严格来说,引用您的bash配置文件并不会重新加载它,只是再次运行它。但是从virtualenv脚本设置的环境变量仍将保持设置状态。您应该启动一个新的终端会话。 - asmeurer
我退出了终端程序并重新启动了它。但是在执行 pip install 时仍然出现错误 Could not find an activated virtualenv (required). - Nyxynyx

0
也许只需要将这个放入你的bash_profile文件中:
export PIP_REQUIRE_VIRTUALENV=false

这就是我的问题,我忘记了我已经以这种方式设置了PIP。


-1

尝试在Anaconda提示符中输入命令,而不是命令提示符。


2
这是无关紧要的,因为OP已经将Anaconda添加到了$PATH中:export PATH="/Users/username/anaconda/bin:$PATH" - Alex.U

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接