我目前正在将我的项目构建管道从基于
setup.py
的方法转移到基于 pyproject.toml
的方法。大多数参数都很容易转移,但是,我找不到等效的
python_requires="~=3.11"
当然有
[project]
requires-python = "~=3.11"
但是,虽然
setup.py
中的设置会导致包名称中出现 -cp311-cp311
,但 pyproject.toml
中的相同设置会导致包名称中出现 -py3-none
。
由于该包包含几个必须针对每个 python 版本进行编译的 dll 文件,我想在包名称中也反映这一点(如果使用了错误的 python 安装,最好拒绝安装)。我该如何使用
pyproject.toml
来解决这个问题?
您需要使用特定的Python版本来构建轮子。您可以使用
pyenv
来管理计算机上的多个Python版本。
penv
安装所需的Python版本:pyenv 安装 3.11
pyenv 本地 3.11
build
包:python -m pip install build
python -m 构建
要在使用错误的 Python 版本时拒绝安装,请在
requires-python
中指定
pyproject.toml
字段
[project]
requires-python = "~=3.11"