2

我正在尝试使用 conda build 和 meta.yaml 文件创建一个 conda 包。大多数依赖关系都处理得很好,但其中一些会导致问题。我知道这些包都可以一起工作,因为我在我的开发环境中使用它们。

我对 yaml 文件的要求部分如下:

requirements:
  build:
    - setuptools
    - numpy
    - python >=3.6
    - matplotlib
    - rdkit
    - openforcefield
    - openeye
    - networkx
    - psi4
  run:
    - numpy
    - python >=3.6
    - matplotlib
    - rdkit
    - openforcefield
    - openeye
    - networkx
    - psi4

所有引起问题的软件包(见下面的错误)都可以通过 conda 安装,例如:

conda install -c psi4 psi4

conda install -c omnia openforcefield

conda install -c openeye openeye-toolkits

conda install -c rdkit rdkit

但是,在调用时conda build .出现以下错误:

conda_build.exceptions.DependencyNeedsBuildingError: Unsatisfiable dependencies for platform linux-64: {'rdkit', 'openeye', 'psi4', 'openforcefield'}

我相信 .yaml 的其余部分是正确的,因为其他任何内容都没有出现错误。我需要更具体/使用一些特殊代码来识别包名称吗?或者问题可能是别的。

谢谢你的帮助。

4

1 回答 1

3

我相信我已经找到了问题所在。

以上套餐均来自不同渠道。添加了所有通道后,我现在可以进一步完成构建过程。添加频道:

conda config --add channels <name of channel>

但是,在分发包时可能会出现问题。我认为其他人可能也必须添加所有其他频道。

于 2019-03-18T09:29:50.317 回答