conda 4.2.13 MacOSX 10.12.1

我试图将包从pip安装到使用anaconda创建的新环境(虚拟)。在水蟒的文件里说这是完全没问题的。它的实现方式与virtualenv相同。

激活你想要放置程序的环境,然后pip安装程序…

我在《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安装包,但我从anaconda的枕头有一个问题,所以我想从pip得到它,因为医生说这是好的。

输出-a pip:

/usr/local/bin/pip
/Users/my_user/anaconda/bin/pip

**更新** 我发现这是一个很常见的问题。我发现conda env不能很好地与PYTHONPATH一起使用。即使在使用conda环境时,系统似乎总是在PYTHONPATH位置中查找。现在,当使用conda环境时,我总是运行未设置的PYTHONPATH,它工作得更好。我用的是mac电脑。


当前回答

以上答案主要基于virtualenv的使用。我刚刚安装了anaconda3,没有安装任何virtualenv。所以,我已经找到了一个更好的替代方案,而不考虑创建virtualenv。

如果您在linux中安装了许多pip和python版本,则首先运行以下命令列出所有已安装的pip路径。

皮普的思想在何处

您将得到类似这样的输出。

Pip: /usr/bin/pip /home/prabhakar/anaconda3/bin/pip /usr/share/man/man1/pip.1.gz

复制pip的路径,你想用它来安装你的包,并把它粘贴在sudo后面,替换下面命令中的/home/prabhakar/anaconda3/bin/pip。

Sudo /home/prabhakar/anaconda3/bin/pip install <package-name> . sh

这对我来说很有效。如果你有任何问题安装,请评论。

其他回答

这是我的工作(参考图片链接)

打开水蟒 在home下面的左侧窗格中选择Environments 就在你选择的地方的右边,在“搜索环境”栏的下面,你应该看到base(root)。点击它 应该会出现一个指向右边的三角形,点击它,选择“open terminal” 在这里使用常规的pip安装命令。不需要指向一个环境/路径

为了将来的参考,如果您碰巧有一个已经满足的需求,您可以找到您的包下载到的文件夹。你可以在终端上看到它。它应该像这样读:已经满足的需求,然后是路径

[]

对于那些希望使用pip在conda中安装少量软件包的人,

sudo $(which pip) install <instert_package_name>

为我工作。

解释

无论如何,对我来说,哪个pip对于找到通往你所在位置的conda env pip路径是非常可靠的。然而,当使用sudo时,这似乎重定向路径或以其他方式破坏这一点。

使用$(pip)独立于sudo或任何命令执行该命令,类似于在Linux中运行/home/<username>/(mini)conda(3)/envs/<env_name>/pip。这是因为$()是单独运行的,并且文本输出添加到outer命令中。

如果你使用的是windows操作系统,打开Anaconda提示并输入activate yourenvname

如果你使用的是mac或Linux操作系统,打开终端,输入source activate yourenvname

Yourenvname这里是您想要在其中安装PIP包的理想环境

输入上述命令后,您必须看到控制台输出中的环境名称从base更改为您键入的环境yourenvname(这意味着您现在处于所需的环境上下文中)

然后你所需要做的就是正常的pip安装命令,例如pip install yourpackage

通过这样做,pip包将安装在Conda环境中

我知道最初的问题是关于MacOS下的conda。但是我想分享一下我使用Ubuntu 20.04的经验。

在我的例子中,这个问题是由于~/中定义的别名。Bashrc: alias pip='/usr/bin/pip3'。那个化名比其他任何事都重要。

因此,出于测试目的,我删除了运行unalias pip命令的别名。说明active conda环境对应的pip已经正常执行。

同样的问题也适用于python命令。

我在这里看到了很多很好的答案,但仍然想分享我的,特别是如果你从pip时代转换到conda时代。按照这个步骤,您可以同时使用conda和pip安装任何包。

背景

仅用于Python包管理器 Conda -包括Python在内的许多语言的包和环境管理器

每次创建新的conda环境时,默认安装Pip

# this installs pip for your newly created environment
conda create -n my_new_env pip 

# activate your new conda environment
conda activate my_new_env

# now you can install any packages using both conda and pip
conda install package_name

#or
pip install package_name

这让你可以灵活地在conda环境中安装任何包,即使它们在conda中不可用(例如wordcloud)。

conda activate my_new_env

# will not work as wordcloud is not available in conda
conda install wordcloud

# works fine
pip install wordcloud