如何使用setup.cfg配置setuptools以包含平台名称、python标签和ABI标签?

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

由于 setup.py install 的控制台消息已已弃用,我正在使用 build

将现有的 setup.py 安装升级到推荐的 setup.cfg

我现有的 setup.py 看起来像这样

from setuptools import setup

setup(
    name='pybindsample',
    version='0.1.0',
    packages=[''],
    package_data={'': ['pybindsample.so']},
    has_ext_modules=lambda: True,
)

我当前的翻译如下:

设置.cfg

[metadata]
name = pybindsample
version = 0.1.0

[options]
packages = . 

[options.package_data]
. = pybindsample.so

pyproject.toml

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

我的问题是如何翻译

has_ext_modules=lambda: True
has_ext_modules=lambda: True
来自here的解决方案。如果没有这个,执行
python3 -m build --wheel
后,生成的轮子的文件名将变成
pybindsample-0.1.0-py3-none-any.whl
,而我的旧
python3 setup.py bdist_wheel
将生成文件名为
pybindsample-0.1.0-cp39-cp39-macosx_11_0_x86_64.whl
的轮子。我已经尝试过了

设置.cfg

[metadata]
name = pybindsample
version = 0.1.0

[options]
packages = . 
has_ext_modules=lambda: True,

[options.package_data]
. = pybindsample.so

但它仍然产生

pybindsample-0.1.0-py3-none-any.whl
,我也尝试过

设置.cfg

[metadata]
name = pybindsample
version = 0.1.0

[options]
packages = . 

[options.package_data]
. = pybindsample.so

[bdist_wheel]
python-tag = c39
plat-name = macosx_11_0_x86_64
py-limited-api = c39

这会生成

pybindsample-0.1.0-cp39-none-macosx_11_0_x86_64.whl
,我不明白为什么abi标签仍然是
none

使用 setup.cfg 配置 setuptools 以包含平台名称、python 标签和 ABI 标签的正确方法是什么?

python setuptools
1个回答
0
投票

您找到解决这个问题的方法了吗? 我也经历过同样的事情..

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.