conda build 无法识别 Conda 包?
Posted
技术标签:
【中文标题】conda build 无法识别 Conda 包?【英文标题】:Conda packages not recognised by conda build? 【发布时间】:2019-03-14 14:49:54 【问题描述】:我正在尝试使用 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】:我相信我已经找到了问题所在。
以上包都来自不同的渠道。添加了所有通道后,我现在可以进一步完成构建过程。添加频道:
conda config --add channels <name of channel>
但在分发包时可能会出现问题。我认为其他人可能也必须添加所有其他频道。
【讨论】:
以上是关于conda build 无法识别 Conda 包?的主要内容,如果未能解决你的问题,请参考以下文章
配置 conda build 以从 conda 包输出中排除某些文件夹
当使用 conda-build 构建 conda 包并且我的代码使用纯 python 库时,我需要在 meta.yaml 文件中的 build/host/run 中放入啥?