如何使pip wheel生成的Wheel文件名包含Python小版本号?
问题:如何让pip wheel生成包含Python小版本号的Wheel文件
我使用pip wheel构建Wheel包时,希望生成的文件名包含Python小版本号。我的项目基于pyproject.toml配置,已经通过requires-python指定了仅支持Python 3.10系列,配置内容如下:
[build-system] requires = ['setuptools'] build-backend = 'setuptools.build_meta' [project] version = '1.0.0' name = 'my-package' requires-python = '==3.10.*' dependencies = [ ... ]
但执行构建命令:
pip wheel --no-deps .
后,生成的文件名是my_package-1.0.0-py3-none-any.whl,我期望的文件名是my_package-1.0.0-py310-none-any.whl。请问该如何配置才能让pip生成带小版本号的文件名?pyproject.toml中有相关设置吗?
解决方案
requires-python仅用于声明包支持的Python版本范围,不会直接影响Wheel文件名中的Python版本标识。要生成带小版本的文件名,需要明确告知setuptools指定Wheel的Python标签。- 最直接的方式是在
pyproject.toml中添加[tool.setuptools]配置段,设置python-tag参数:
[tool.setuptools] python-tag = "py310"
添加该配置后,重新执行pip wheel --no-deps .,生成的Wheel文件名就会带上py310标签,符合预期。
- 注意:设置
python-tag = "py310"后,这个Wheel包将只能在Python 3.10系列版本上安装,这和你requires-python = '==3.10.*'的要求完全匹配,不会产生兼容性问题。
内容的提问来源于stack exchange,提问作者Darkdragon84
相关产品推荐
相关产品推荐

