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电脑。


当前回答

对于那些希望使用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命令中。

其他回答

对于其他遇到这种情况的人,我发现这是最直接的解决方案:

执行conda create -n venv_name和conda activate venv_name命令,其中venv_name是虚拟环境的名称。 执行conda install pip。这将把pip安装到venv目录。 找到您的anaconda目录,并找到实际的venv文件夹。它应该是/anaconda/envs/venv_name/。 执行/anaconda/envs/venv_name/bin/pip Install package_name命令安装新包。

现在应该成功地使用虚拟环境的pip安装包了!

我在anaconda上安装一个非conda包时遇到了一个问题,我遵循了这里最喜欢的答案,它不顺利(可能是因为我的anaconda在F目录下,env创建在C中,bin文件夹没有创建,我不知道,但它不起作用)。

根据anaconda pip已经安装(在anaconda提示符上使用命令“conda list”找到),但pip包没有安装,所以这是我所做的,我再次安装pip,然后pip安装包。

conda install pip
pip install see

See是一个非conda包。

我尝试了以上所有的方法。因为公司环境中的代理设置有问题,所以我没有使用过。幸运的是,我可以从浏览器打开pypi网站。最后,以下几点对我有用:

激活你的环境 手动从。whl下载包 https://pypi.org/simple/ < package_name > / 在激活环境的情况下,导航到从命令行下载.whl的文件夹 执行: PIP安装

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

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

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

[]

你所要做的就是打开水蟒提示并输入

pip install package-name

它将自动安装到anaconda环境而无需使用

conda install package-name

由于一些conda包可能在以后的时间里缺乏支持,因此需要使用pip安装,这是一种方法

如果你在anaconda中安装了pip,你可以在jupyter笔记本或链接到anaconda的python shell中运行以下命令

pip.main(['install', 'package-name'])

使用pip.__version__检查pip的版本。如果是10.x版本。X或以上版本,然后用这行代码安装python包

subprocess.check_call([sys.executable, '-m', 'pip', 'install', '--upgrade', 'package-name'])

在你的jupyter笔记本中,你可以通过pip在单元格中安装python包;

!pip install package-name

或者你也可以使用与anaconda相关的python版本

!python3.6 -m pip install package-name