python - 如何使 conda-build 正常工作并找到 setup.py?
问题描述
我正在尝试创建一个 anaconda python 包。我的meta.yaml
样子是这样的:
package:
name: liveprint-lib
version: "0.1.0"
build:
number: 0
requirements:
build:
- pip
- python=3.7
- setuptools
run:
- python=3.7
- numpy
- opencv
about:
home: https://github.com/monomonedula/liveprint
license: Apache License 2.0
license_file: LICENSE.txt
summary: Python utility library for dynamic animations projections
build.sh
:
$PYTHON setup.py install
文件夹结构:
.
├── bld.bat
├── build.sh
├── LICENSE.txt
├── liveprint
├── meta.yaml
├── README.md
├── resources
├── setup.py
└── test
我在运行时遇到的错误conda build .
如下:
/home/vhhl/programs/anaconda3/conda-bld/liveprint-lib_1581422598848/_h_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_/bin/python: can't open file 'setup.py': [Errno 2] No such file or directory
我究竟做错了什么?
解决方案
您的meta.yaml
文件缺少一个source
部分。此外,通常最好将您的配方文件保存在它们自己的目录中,而不是放在顶级存储库中。我推荐以下内容:
mkdir conda-recipe
mv meta.yaml build.sh bld.bat conda-recipe
然后,编辑meta.yaml
以添加一个source
部分,该部分指向您的存储库的顶级目录。
package:
name: liveprint-lib
version: "0.1.0"
source:
# Relative path to the parent directory.
path: ..
build:
number: 0
requirements:
build:
- pip
- python=3.7
- setuptools
run:
- python=3.7
- numpy
- opencv
然后尝试:
conda build conda-recipe
推荐阅读
- angular - 具有父/子关系的角度组件中的通用类型定义
- amazon-web-services - 从 EKS 集群访问 ElastiCache
- swift - 我想在 Swift 中使用 RSA 公钥解密消息
- javascript - Laravel 7 Ajax 数据表获取数据更新
- android - 如何延迟返回回调直到异步任务完成?
- php - Laravel - ID [] 到 JSON 的错误编码模型 [App\QuestionOption]:检测到递归
- jquery - 如何在动态创建的对象上实现 jquery selectable
- graphql - GraphQL 中的关系“元数据”
- arrays - 为什么我们不使用带有数组的指针而不是完整的链表呢?
- c# - Html Agility Pack 如何在页面加载后获取动态生成的内容