我使用Poetry作为依赖管理和打包工具,开发了我的第一个Python包。
将我的作品发布到PyPI上非常容易,只需运行以下命令:
poetry publish --build
现在,我想让我的软件包在conda生态系统中可用。作为预备步骤,我尝试使用conda build
在本地构建它。
这是我的(匿名的)meta.yaml
文件的内容:
{% set version = "0.1.4" %}
package:
name: "<my-package-name>"
version: {{ version }}
source:
url: <URL-of-the-source-distribution-of-my-package-on-PyPI>.tar.gz
sha256: <SHA256-of-the-source-distribution-of-my-package-on-PyPI>
build:
noarch: python
script: python -m pip install .
requirements:
host:
- python
- pip
run:
- python
about:
license: MIT
license_familY: MIT
license_file: LICENSE
summary: "<Brief-project-description>"
在运行
conda build
时,引发以下异常:ModuleNotFoundError: No module named 'poetry'
在这些行之后立即进行操作:
[...]
Processing $SRC_DIR
Preparing wheel metadata: started
Preparing wheel metadata: finished with status 'done'
这是我第一次创建conda包。
请帮助我理解我缺少什么,如果有更简单的方法将我的Poetry项目作为conda包在conda-forge上或甚至在我的个人anaconda通道上可用。
conda-build
报错了,提示需要poetry
,那么加入它作为(主机)依赖会发生什么呢?如果你的软件包在PyPI上,并且你有兴趣使用Conda Forge进行部署,也许可以尝试一下grayskull
。 - merv