【发布时间】:2017-04-18 20:30:33
【问题描述】:
我创建了一个我想用 conda 构建的 python 项目,但是当我 cd 到 conda-recipe 文件夹并运行 conda build . 时出现错误,找不到 setup.py 文件。我尝试将 conda-recipe 移动到与 setup.py 相同的级别并将源部分添加到我的 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:\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
【问题讨论】:
-
setup.py似乎不在code文件夹中。 -
@NehalJWani 不,它在它之外,与测试文件夹处于同一级别。我正在脱离 Python 打包机构 github.com/pypa/sampleproject 定义的项目结构,项目应该以不同的方式组织吗?
-
您尝试将
path: ../code替换为path: ../../吗? -
根据conda.io/docs/building/meta-yaml.html#source-section ,
source部分下的path指令应该指向包含整个源代码的目录。 -
@NehalJWani 这解决了问题!谢谢!我是否将 coda-recipe 放在项目中的正确位置,还是应该放在其他地方?有首选位置吗?