繁体   English   中英

如何使用 pyproject.toml 构建万能轮

[英]How to build a universal wheel with pyproject.toml

这是项目目录结构

.
├── meow.py
└── pyproject.toml

0 directories, 2 files

这是meow.py

def main():
    print("meow world")

这是pyproject.toml

[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"

[project]
name = "meowpkg"
version = "0.1"
description = "a package that meows"

[project.scripts]
meow_world = "meow:main"

在构建这个包时,无论是否使用python3 -m pip wheel . 或使用python3 -m build ,它会创建一个名为meowpkg-0.1-py3-none-any.whl的文件,该文件无法安装在 Python 2 上。

$ python2.7 -m pip install meowpkg-0.1-py3-none-any.whl
ERROR: meowpkg-0.1-py3-none-any.whl is not a supported wheel on this platform.

但是“meowpkg”实际上也适用于 Python 2。 如何指示 setuptools 和/或 wheel 创建标记为meowpkg-0.1-py2.py3-none-any.whl的通用轮,而不使用旧的setup.cfg / setup.py方式?

当前解决方法:

echo "[bdist_wheel]\nuniversal=1" > setup.cfg && python3 -m build && rm setup.cfg

将此部分添加到pyproject.toml

[tool.distutils.bdist_wheel]
universal = true

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM