我创建了一个我想用conda构建的python项目,但是当我cd到conda-recipe文件夹并运行conda build .
找不到setup.py文件时,我收到错误。我已经尝试将conda-recipe移动到与setup.py相同的级别,并将source部分添加到我的meta.yaml中,但我仍然收到错误。将conda-recipe相对于我的python包放在哪里的最佳位置?
这是我的项目结构:
- MyProject/
|- conda-recipe/
|- bld.bat
|- build.sh
|- meta.yaml
|- code/
|- subpackage/
|- __init__.py
|- foo.py
|- tests/
|- test_foo.py
|-setup.py
以下是我bld.bat的内容:
"%PYTHON%" setup.py sdist install
if errorlevel 1 exit 1
build.sh:
#!/bin/bash
$PYTHON setup.py sdist install
和meta.yaml:
package:
name: myproject
version: "1.0.0"
source:
path: ../code
requirements:
build:
- python
- setuptools
run:
- python
- argparse
为了完整起见,这里是错误:
(C:\Anaconda2\conda-bld\myproject_1492545717354\_b_env)
C:\Anaconda2\conda-bld\myproject_1492545717354\work>
"C:\Anaconda2\conda-bld\myproject_1492545717354\_b_env\python.exe" setup.py
sdist install C:\Anaconda2\conda-bld\myproject_1492545717354\_b_env\python.exe:
can't open file 'setup.py': [Errno 2] No such file or directory
答案 0 :(得分:5)
IIUC,conda-recipe文件夹的位置并不重要,只要它知道源代码的确切位置即可。
根据documentation,path
的值应该指向源存储库的副本。在你的情况下,它是'MyProject',所以你可以尝试替换......
path: ../code
到
path: ../../
更好的是,使用$RECIPE_DIR
environment variable使其成为绝对而非亲戚:
path: $RECIPE_DIR/../..