使用 wheel 文件与 conda#

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

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

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

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

从 wheel 文件构建 conda 软件包#

要从 wheel 文件构建 conda 软件包,请在 conda 配方的 bld.batbuild.sh 文件中安装 .whl 文件。

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

您可以改为将 URL 直接放在 pip install 命令中。

示例: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 配方中安装依赖项,并且这些依赖项将成为您的软件包的一部分。这会浪费软件包中的空间,并增加文件重叠、文件 clobbering 和软件包损坏的风险。