使用轮文件与 conda#

如果您有一个 Python 轮文件 中的软件,并且想要将其与 conda 一起使用或将其安装在 conda 环境中,有 3 种方法。

最好的方法是获取软件的源代码,并从源代码构建 conda 包,而不是从轮文件构建。这有助于确保新的包使用其他 conda 包来满足其依赖关系。

第二好的方法是从轮文件构建 conda 包。这告诉 conda 有关文件的信息比 pip install 更多。与 pip install 相比,它也更不容易导致错误,例如覆盖(或“破坏”)文件。从轮文件构建 conda 包还有另一个优势,即任何覆盖都更有可能发生在构建时而不是运行时。

第三种方法是使用 pip 将轮文件安装到 conda 环境中。一些 conda 用户已安全地使用过此选项。前两种方法仍然是最安全和最可靠的。

从轮文件构建 conda 包#

要从轮文件构建 conda 包,请将 .whl 文件安装到 conda 食谱的 bld.batbuild.sh 文件中。

您可以在 conda 食谱的 meta.yaml 文件的 source 部分下载 .whl 文件。

您也可以直接在 pip install 命令中放置 URL。

示例:TensorFlow 的 conda 食谱在 build.sh 中有一个 pip install 命令,其中包含 .whl 文件的 URL。该 meta.yaml 文件不下载或列出 .whl 文件。

注意

重要的是,pip install 仅安装一个所需的包。只要有可能,请使用 conda 而不是 pip 来安装依赖项。

您必须在 pip install 命令中使用 --no-deps 选项,以避免将依赖项捆绑到您的 conda 包中。

如果您在没有 --no-deps 选项的情况下运行 pip install,pip 通常会在您的 conda 食谱中安装依赖项,并且这些依赖项将成为您包的一部分。这会在包中浪费空间,并增加文件重叠、文件覆盖和包损坏的风险。