我正在尝试使用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的其余部分是正确的,因为没有任何关于其他方面的错误。我需要更具体/使用一些特殊的代码来识别包名称吗?或者,也许问题出在别的地方。
谢谢你的帮助。
发布于 2019-03-18 17:29:50
我相信我已经找到了问题所在。
上面的包都来自不同的渠道。在添加了所有通道之后,我现在可以进一步完成构建过程。使用以下命令添加通道:
conda config --add channels <name of channel>
不过,当涉及到分发软件包时,可能会出现问题。我认为其他人可能也必须添加所有其他频道。
https://stackoverflow.com/questions/55165539
复制相似问题