为了账号安全,请及时绑定邮箱和手机立即绑定

使用Pip将软件包安装到Anaconda Environment

使用Pip将软件包安装到Anaconda Environment

桃花长相依 2019-11-06 10:34:34
康达4.2.13 MacOSX 10.12.1我正在尝试将软件包安装pip到使用anaconda创建的新环境(虚拟)中。 在Anaconda文档中,这说得很好。它的完成方式与virtualenv相同。激活要放置程序的环境,然后pip安装程序...我在Ananconda中创建了一个空环境,如下所示:conda create -n shrink_venv激活它:source activate shrink_venv然后,我可以在终端中看到我正在环境中工作(shrink_venv)。当我尝试使用安装软件包时,出现了问题pip:(shrink_venv): pip install PillowRequirement already satisfied (use --upgrade to upgrade): Pillow in /Library/Python/2.7/site-packages因此,我可以看到它认为从系统范围的软件包中可以满足要求。因此,似乎环境无法正常运行,绝对不像文档中所说的那样。我在这里做错什么了吗?请注意,我知道您可以使用conda install这些软件包,但是anaconda的Pillow遇到了问题,因此我想从中获取它pip,并且由于文档说还可以。输出which -a pip:/usr/local/bin/pip/Users/my_user/anaconda/bin/pip**更新**我看到这是很常见的问题。我发现,conda env在PYTHONPATH中的表现不佳。即使您使用的是conda环境,该系统似乎也总是在PYTHONPATH位置中查找。现在,我总是unset PYTHONPATH在使用conda环境时运行,并且效果更好。我在Mac上。
查看完整描述

3 回答

?
函数式编程

TA贡献1807条经验 获得超9个赞

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

  1. 运行conda create -n venv_namesource activate venv_namevenv_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成功安装软件包!


查看完整回答
反对 回复 2019-11-06
?
阿晨1998

TA贡献2037条经验 获得超6个赞

所有您需要做的就是打开Anaconda Prompt并输入


pip install package-name

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


conda install package-name

由于某些conda软件包可能缺少加班支持,因此需要使用pip进行安装,这是一种实现方法。


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


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

使用检查您的pip版本pip.__version__。如果是版本10.x.x或更高版本,请使用以下代码行安装python软件包


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

在jupyter笔记本中,您可以通过pip在单元格中安装python软件包。


!pip install package-name

或者您可以使用与蟒蛇关联的python版本


!python3.6 -m pip install package-name


查看完整回答
反对 回复 2019-11-06
?
长风秋雁

TA贡献1757条经验 获得超7个赞

如果在创建conda环境时未添加点子


conda create -n env_name pip

也没有在环境内安装点子


source activate env_name

conda install pip

那么您获得的唯一点就是系统点,它将在全球范围内安装软件包。


正如您在此问题中看到的那样,即使执行了上述任何一个过程,conda环境中pip的行为仍然是不确定的。


为了确保使用conda环境中安装的pip而不需要输入longy /home/username/anaconda/envs/env_name/bin/pip,我编写了一个shell函数:


# Using pip to install packages inside conda environments.

cpip() {

    ERROR_MSG="Not in a conda environment."

    ERROR_MSG="$ERROR_MSG\nUse \`source activate ENV\`"

    ERROR_MSG="$ERROR_MSG to enter a conda environment."


    [ -z "$CONDA_DEFAULT_ENV" ] && echo "$ERROR_MSG" && return 1


    ERROR_MSG='Pip not installed in current conda environment.'

    ERROR_MSG="$ERROR_MSG\nUse \`conda install pip\`"

    ERROR_MSG="$ERROR_MSG to install pip in current conda environment."


    [ -e "$CONDA_PREFIX/bin/pip" ] || (echo "$ERROR_MSG" && return 2)


    PIP="$CONDA_PREFIX/bin/pip"

    "$PIP" "$@"

}

希望这对您有帮助。


查看完整回答
反对 回复 2019-11-06
  • 3 回答
  • 0 关注
  • 1568 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信