如果我有一个带有
如果我使用
setup.py
的目录,在pip
中,我可以在该目录中使用pip install .
安装包。如果我使用
conda
呢?
conda install .
会让conda
查找一个名为dot的包。conda
包的结构与标准 Python 包不同。因此,官方、推荐且最佳实践 的方法是在激活的 conda
环境中使用 conda
安装 pip
,然后使用该工具安装标准包:
conda install pip
注意:尽可能使用conda
包,因为在conda
环境中,它们比非conda
包具有更多的功能。
conda install pip
将在当前激活的conda
环境中安装pip,并确保它与conda
集成,例如,conda list
将包括使用pip
安装的任何软件包。
注意:类似conda update
这样的命令将忽略使用pip
安装的软件包,因为它只检查conda
channels
中是否有可用的更新,因此仍需要使用pip
进行更新。请参阅此问题/答案讨论:
Conda是否会更新使用pip install从pypi安装的软件包?
注意:有关conda
4.6实验性处理软件包的详细信息,请参见@kalefranz下面的评论。
conda
软件包,可以参考这个问题/第一个回答,了解一下详细信息:
如何通过conda安装自己的Python模块(软件包)并查看其更改
如果你只是想安装非conda
软件包,使用pip
是正确且预期的方法。conda config --set pip_interop_enabled true
命令。可以“管理”的软件包(即可删除)可能会更新以满足当前解决方案。可管理的软件包通常是从 wheels 安装的。无法管理的软件包将锚定环境,直到通过其他方式将其删除。不可管理的软件包示例是使用 pip install -e
进行的“可编辑”安装。 - kalefranzconda
是否可以从setup.py
读取并尝试安装可用的依赖项,然后我们可以使用pip install .
来完成其余部分呢?还是应该专门创建conda元文件以达到此目的? - Ryan$ conda activate myenvironment
使用pip install .
将您的软件包安装到环境目录中。
编辑:如Chris Larson在另一个回答中指出的那样,您应该在环境内安装pip。
(注:Original Answer翻译成“最初的回答”)
$ conda install pip
为了正确注册软件包。
whl
文件,我可以使用 pip install xxx.whl
命令来安装它。conda install
命令从本地文件安装,但是文件应该是 tarball 文件,即 .tar.bz2
文件。
conda install /package-path/package-filename.tar.bz2
可以工作。如果我有多个 tarballs,我可以将它们打包成一个 .tar
文件,然后使用 conda install /packages-path/packages-filename.tar
命令来安装其中的软件包。
conda
软件包提供?也就是说,你是在创建某个东西,从其他地方安装某个东西,还是...? - Chris Larsonconda
本身建议您使用pip来安装非conda
包。请参阅下面的两个答案,了解在conda
中正确使用pip
的方法。请注意,在我的答案中,我指出这是处理非conda
包的官方、推荐和最佳实践方式。 - Chris Larson