Conda Build - 创建Conda软件包失败,依赖于平台win-64
问题描述:
从本地目录构建我的第一个conda软件包。 遵循CONDA网站的指示。 https://conda.io/docs/user-guide/tasks/build-packages/recipe.htmlConda Build - 创建Conda软件包失败,依赖于平台win-64
我得到以下错误
conda_build.exception.DependencyNeedsBuildingError:为平台取胜-64不可满足依赖性:集合([u'pywinauto”,u'statistics',u'openturns'])
我尝试了几个项目,但似乎pywinauto,统计和openturns导致依赖问题。
这里是我的meta.yml文件
package:
name: apples
version: "1.0.0"
source:
path: ../src
target_platform:
- win-64
requirements:
build:
- python
- setuptools
- statistics # [win64]
- pywinauto # [win64]
- openturns # [win64]
- matplotlib
- numpy
- pandas
- pip
- pyodbc
- pyqt
- pywin32
- qt
- scipy
- tqdm
- xlwings
run:
- python
- matplotlib
- numpy
- pandas
- pip
- pyodbc
- pyqt
- pywin32
- qt
- scipy
- tqdm
- xlwings
- statistics # [win64]
- pywinauto # [win64]
- openturns # [win64]
答
所有您在康达构建使用的软件包必须可作为畅达包在您的配置渠道之一。对于您的情况:
- 统计和openturns可从
conda-forge
道:https://anaconda.org/search?q=openturns和https://anaconda.org/search?q=statistics - 然而,
pywinauto
包是不是可以作为一个畅达包,所以你必须建立自己的,https://anaconda.org/search?q=pywinauto这是不是太困难的事与conda skeleton pypi
命令
当我删除pywinauto,它未能建立,产生了同样的错误,只是下面的名称(openturns,统计),我会承担,因为他们是在conda-forge频道,它无线ld只需将它们正常拖拽而不会出错。这是不是 为pywinauto,当我试图运行'conda骨骼pypi pywinauto'这将返回一个导入错误没有找到包发现 我可能只是添加到bld.bat脚本以下 conda install -c conda -y conda install -c conda-forge statistics -y pip install pywinauto – dfresh22
1.你需要在你之前用'conda config --append channels conda-forge'在你的频道列表中添加'conda-forge'构建包或在构建步骤'conda build -c conda-forge recipe_dir'中指定通道。否则,康达如何知道在哪里可以找到包装? – darthbith
2.在构建步骤中,您绝对不应该进行安装。如果您在构建步骤中进行安装,用户将如何获得他们所需的依赖关系? IIRC,conda-build实际上禁止这种情况发生,但这可能不正确。我知道它禁止在安装过程中通过setuptools自动安装软件包 – darthbith