相对于我的项目,我应该把Conda食谱放在哪里?
问题描述
我已经创建了一个python项目,我希望使用conda构建该项目,但是当我cd到conda-Recipe文件夹并运行conda build .
时,我收到一个错误,即找不到setup.py文件。我已经尝试将conda-reecipe移到与setup.py相同的级别,并将source部分添加到我的meta.yaml中,但仍然收到错误。相对于我的python包,放置Conda-Recipe的最佳位置是哪里?
以下是我的项目结构:
- 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:Anaconda2conda-bldmyproject_1492545717354\_b_env)
C:Anaconda2conda-bldmyproject_1492545717354work>
"C:Anaconda2conda-bldmyproject_1492545717354\_b_envpython.exe" setup.py
sdist install C:Anaconda2conda-bldmyproject_1492545717354\_b_envpython.exe:
can't open file 'setup.py': [Errno 2] No such file or directory
解决方案
iiuc,Conda-Recipe文件夹的位置并不重要,只要它知道源代码的确切位置即可。
根据documentation,path
的值应该指向源库的副本。在您的情况下,它是‘MyProject’,因此您可以尝试替换.
path: ../code
至
path: ../../
更好的是,使用$RECIPE_DIR
environment variable:
path: $RECIPE_DIR/../..
相关文章