使用Pip将软件包安装到Anaconda环境

2024-09-19 21:03:54 发布

您现在位置:Python中文网/ 问答频道 /正文

康达4.2.13 MacOSX 10.12.1

我正在尝试将包从pip安装到使用anaconda创建的新环境(虚拟)中In the Anaconda docs上面说这很好。这与virtualenv的做法相同

Activate the environment where you want to put the program, then pip install a program...

我在Anaconda中创建了一个空环境,如下所示:

conda create -n shrink_venv

激活它:

source activate shrink_venv

然后,我可以在终端中看到我正在我的环境中工作。当我尝试使用pip安装软件包时,出现了问题:

(shrink_venv): pip install Pillow

Requirement already satisfied (use --upgrade to upgrade): Pillow in /Library/Python/2.7/site-packages

因此,我可以看出,它认为全系统软件包满足了要求。因此,环境似乎无法正常工作,绝对不像文档中所说的那样。我做错什么了吗

请注意,我知道您可以使用conda install作为包装,但我对anaconda的枕头有一个问题,所以我想从pip处购买,因为医生说可以

which -a pip的输出:

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

**更新** 我认为这是一个相当普遍的问题。我发现conda env和Python玩得不好。即使在使用conda环境时,系统似乎也总是在PYTHONPATH位置中查找。现在,在使用conda环境时,我总是运行unset PYTHONPATH,而且效果更好。我在mac电脑上


Tags: installpipthetobin环境venv系统
3条回答

您所要做的就是打开Anaconda提示符并键入

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

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

  1. 运行conda create -n venv_nameconda activate venv_name,其中venv_name是虚拟环境的名称

  2. 运行conda install pip。这将把pip安装到您的venv目录中

  3. 找到您的anaconda目录,并找到实际的venv文件夹。它应该在类似/anaconda/envs/venv_name/的地方

  4. 通过执行/anaconda/envs/venv_name/bin/pip install package_name安装新软件包

现在应该可以使用该虚拟环境的pip成功安装软件包了

我用以下方法解决了这个问题:

如果您有一个非conda pip作为默认pip,但conda python是您的默认python(如下所示)

>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

那就不打电话了 pip install <package>,您可以在python中使用模块标志-m,以便它使用anaconda python进行安装

python -m pip install <package>

这会将包安装到anaconda库目录,而不是与(非anaconda)pip关联的库目录

相关问题 更多 >