使用 pyproject.toml 为特定 python 版本生成wheel包

问题描述 投票:0回答:1

我目前正在将我的项目构建管道从基于

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 build pyproject.toml
1个回答
0
投票

您需要使用特定的Python版本来构建轮子。您可以使用

pyenv
来管理计算机上的多个Python版本。

  1. 使用
    penv
    安装所需的Python版本:

pyenv 安装 3.11

  1. 为您的项目设置本地Python版本:

pyenv 本地 3.11

  1. 安装
    build
    包:

python -m pip install build

  1. 构建您的项目:

python -m 构建

要在使用错误的 Python 版本时拒绝安装,请在

requires-python
 中指定 
pyproject.toml

字段
[project]
requires-python = "~=3.11"
© www.soinside.com 2019 - 2024. All rights reserved.