conda-build 使用旧的(陈旧的)setup.py
Posted
技术标签:
【中文标题】conda-build 使用旧的(陈旧的)setup.py【英文标题】:conda-build using an old (stale) setup.py 【发布时间】:2019-01-28 16:49:45 【问题描述】:我正在尝试从一些 python 源文件和其他 DLL 文件生成一个 conda 包(使用 conda-build)。我首先使用 setup.py 文件在 dist 文件夹中生成 python 源代码 tar.gz 文件。这一切都很好。
然后我尝试使用 conda-build 创建一个 conda tarball (tar.bz2) 文件。然而,它却说它不能在 setup.py 中处理好 py2exe。我曾在 setup.py 中导入 py2exe 作为实验,但此后将其删除。当前的 setup.py 没有这个导入。所以,我不确定为什么 conda-build 仍然抱怨这个。我什至尝试删除我认为可能导致问题的所有文件和目录并从头开始,但它仍然会抱怨。所以,它使用了某个地方的缓存文件,但我不知道在哪里。我的 conda-build 使用的 bld.bat 就是这样:
%PYTHON% setup.py install
if errorlevel 1 exit 1
我的食谱文件是:
package:
name: projectname
version: 1.0.0
source:
url: ../dist/projectname-1.0.0.tar.gz
build:
number: 1
include_recipe: True
requirements:
build:
- python
run:
- python
这里是 conda-build 的相关输出:
(%BUILD_PREFIX%) %SRC_DIR%>%BUILD_PREFIX%\python.exe setup.py install Traceback(最近一次调用最后一次):文件“setup.py”,第 2 行,在 import py2exe ModuleNotFoundError: No module named 'py2exe'
(%BUILD_PREFIX%) %SRC_DIR%>如果错误级别 1 退出 1 回溯(大多数 最近通话最后):文件 “d:\Continuum\anaconda3.5\Scripts\conda-build-script.py”,第 10 行,在 sys.exit(main())
【问题讨论】:
【参考方案1】:我能够解决问题。对于可能遇到此问题的其他任何人,我对 setup.py 进行了全局搜索,并在 conda-build 生成的 conda-bld 文件夹中找到了有问题的文件。我删除了 conda-bld 并解决了问题。
【讨论】:
以上是关于conda-build 使用旧的(陈旧的)setup.py的主要内容,如果未能解决你的问题,请参考以下文章
当使用 conda-build 构建 conda 包并且我的代码使用纯 python 库时,我需要在 meta.yaml 文件中的 build/host/run 中放入啥?
如何使 conda-build 正常工作并找到 setup.py?
为啥在 conda-build 的构建过程中将 $CONDA_PREFIX 设置为 $BUILD_PREFIX?
官方 AnacondaRecipes/opencv-feedstock 的 conda-build 无法查找 libpng.h