Python 相对于我的项目,我应该把康达配方放在哪里?
我已经创建了一个python项目,我想用conda构建它,但是当我将cd刻录到conda recipe文件夹并运行Python 相对于我的项目,我应该把康达配方放在哪里?,python,anaconda,conda,Python,Anaconda,Conda,我已经创建了一个python项目,我想用conda构建它,但是当我将cd刻录到conda recipe文件夹并运行conda build时,我遇到了一个错误。没有找到setup.py文件。我已经尝试将conda配方移动到与setup.py相同的级别,并将source部分添加到我的meta.yaml中,但仍然出现错误。相对于我的python包,康达配方的最佳放置位置是哪里 以下是我的项目结构: - MyProject/ |- conda-recipe/ |- bld.bat |
conda build时,我遇到了一个错误。
没有找到setup.py文件。我已经尝试将conda配方移动到与setup.py相同的级别,并将source部分添加到我的meta.yaml中,但仍然出现错误。相对于我的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
IIUC,conda recipe文件夹的位置并不重要,只要它知道源代码的确切位置 根据,路径的值应指向源存储库的副本。在您的情况下,它是“MyProject”,因此您可以尝试替换
path: ../code
到
更好的是,使用$RECIPE\u DIR
将其设置为绝对值而不是相对值:
setup.py
似乎不在code
文件夹内。@NehalJWani不,它在该文件夹外,与测试文件夹处于同一级别。如果项目的组织方式不同,我将脱离Python打包机构定义的项目结构?您是否尝试将path:../code
替换为path:../../..//code>,source
部分下的path
指令应该指向包含整个源代码的目录。@NehalJWani解决了这个问题!非常感谢。我是否将尾波配方放在了项目的正确位置,还是应该放在其他地方?是否有首选位置?不要使用$RECIPE_DIR
;这条路已经走了。使用$RECIPE\u DIR
将中断源代码构建。
path: ../../
path: $RECIPE_DIR/../..