conda版本无法识别Conda软件包?

时间:2019-03-14 14:49:55

标签: python anaconda conda

我正在尝试使用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的其余部分都是正确的,因为在其他方面没有出现任何错误。我是否需要更具体/使用一些特殊的代码来识别软件包名称?也许是其他问题。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

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

以上软件包均来自不同渠道。添加了所有渠道后,现在我将进一步了解构建过程。频道添加有:

conda config --add channels <name of channel>

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