【问题标题】:`setup.py` `install_requirements` in Conda environment: force use of `pip`Conda 环境中的“setup.py”“install_requirements”:强制使用“pip”
【发布时间】:2019-10-20 17:26:04
【问题描述】:

我的一个项目有一个 conda 环境。它包含一个setup.py,它定义了一个install_requirements 选项。 Conda 似乎坚持在所有要求上使用自己的渠道。虽然有些在 Conda 目录中不存在,但绝对可以通过pip 安装。

有没有办法告诉python setup.py install 在这些特殊要求上使用pip?最好setup.py?

【问题讨论】:

    标签: python pip anaconda setup.py


    【解决方案1】:

    不,在 conda 构建过程中无法使用 pip 安装软件包。 Conda 坚持使用 conda 包作为所有 conda 包的依赖项。在我看来,这是一个很好的限制,因为它确保您将拥有一个自洽的环境,并且直到最近,conda 和 pip 并没有很好地结合在一起。此外,pip 有自己的依赖解决器,它可能会为 conda 解决的依赖包提供不同/不兼容版本的依赖包。

    对于纯 Python 包,生成 conda 包并不难,您可以将其上传到 conda forge 以使其普遍可用。请参阅conda-forge website,其中指出

    • 分叉conda-forge/staged-recipes
    • staged-recipes master 分支创建一个新分支。
    • 在“recipes”目录中添加一个新的 conda 配方。那里有一个写得很好的食谱的例子。 Further guidance on writing good recipes
    • 以拉取请求的形式提出更改。您的配方将自动在 Windows、Linux 和 OSX 上构建以测试其是否有效,但该发行版尚无法在 conda-forge 频道上使用。
    • 一旦配方准备就绪,它将被合并,并且会自动为配方创建新的“原料”存储库。构建和上传过程在原料中进行,一旦完成,包将在 conda-forge 频道上提供

    【讨论】:

      猜你喜欢
      • 2018-04-26
      • 1970-01-01
      • 1970-01-01
      • 2020-07-21
      • 2021-03-11
      • 1970-01-01
      • 2018-03-14
      • 2019-02-27
      • 2016-11-02
      相关资源
      最近更新 更多