jen*_*ton 8 python anaconda conda
我创建了一个python项目,我想用conda构建但是当我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
Run Code Online (Sandbox Code Playgroud)
这是我的bld.bat的内容:
"%PYTHON%" setup.py sdist install
if errorlevel 1 exit 1
Run Code Online (Sandbox Code Playgroud)
而build.sh:
#!/bin/bash
$PYTHON setup.py sdist install
Run Code Online (Sandbox Code Playgroud)
和meta.yaml:
package:
name: myproject
version: "1.0.0"
source:
path: ../code
requirements:
build:
- python
- setuptools
run:
- python
- argparse
Run Code Online (Sandbox Code Playgroud)
为了完整性,这里是错误:
(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
Run Code Online (Sandbox Code Playgroud)
IIUC,conda-recipe文件夹的位置并不重要,只要它知道源代码的确切位置即可.
根据文档,值path应该指向源存储库的副本.在你的情况下,它是'MyProject',所以你可以尝试替换...
path: ../code
Run Code Online (Sandbox Code Playgroud)
至
path: ../../
Run Code Online (Sandbox Code Playgroud)
更好的是,通过使用$RECIPE_DIR 环境变量使其成为绝对而非相对:
path: $RECIPE_DIR/../..
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1251 次 |
| 最近记录: |