如何使用anacaonda conda命令安装PyPi包

时间:2015-03-26 18:52:53

标签: python pip anaconda pypi conda

使用Anacoda Python发行版时,安装不能通过Anaconda直接获得的PyPi包的最佳方法是什么?现在我正在使用:

conda pipbuild [pypi_name]
conda install --use-local [package_spec]

但我不清楚这是否是最好的方式,如果conda update --all在更新可用时更新这些包。我还不清楚当PyPi已经存在时,binstar的意义何在。

3 个答案:

答案 0 :(得分:25)

如果要为PyPI包构建conda包,建议的方法是使用conda skeleton pypi package并在其创建的配方上使用conda build package。每次更新包时,您都需要更新配方。

您也可以使用pip安装这些软件包。这里的缺点是这些包装不会由conda管理。

答案 1 :(得分:24)

我不同意接受的回复,并注意pip install [some-pypi-package]通常是在Conda环境中安装PyPi包的最佳方式。

虽然这些软件包不会由Conda软件包管理器管理,但它们仍将由Anaconda环境管理。它将为活动的Python安装下载正确版本的软件包,并使用pip软件包管理器正确更新。

使用Anaconda时,您应尽可能在conda之前转向pip,但在使用pip时,您不会失去使用Anaconda的任何可复制性优势

答案 2 :(得分:9)

version 4.6.0起,Conda改进了与pip的互操作性:

  

Conda和pip历来难以相处。点子   没有尊重Conda的环境限制,而Conda一直   太高兴了,以至于无法使用点子安装的软件。一团糟。康达   4.6.0添加了预览支持,以实现更好的互操作性。凭借这种互操作性,Conda可以使用pip安装的软件包来满足   依赖项,甚至可以干净地删除pip安装的软件,并且   适当时将其替换为Conda软件包。还有房间   在点子和Conda成为矮胖BFF之前需要改进,但是我们希望   这是一个好的开始。默认情况下,此功能目前处于禁用状态   因为它会严重影响Conda的性能。如果你想   要尝试,您可以设置以下condarc设置:

conda config --set pip_interop_enabled True

因此,在编写本文时,将PyPI软件包放入conda的方法似乎是:

pip install <package>

如果您想让conda替换它自己的PyPI软件包(如果可能),只需运行:

conda update --all

鉴于已进行上述设置。 Conda将自己的渠道标记为优先于pip,因此包裹将被替换。