由于 setup.py install 的控制台消息已被弃用,我正在将现有的 setup.py install 升级到带有build的推荐 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,
)
Run Code Online (Sandbox Code Playgroud)
我当前的翻译如下:
安装程序.cfg
[metadata]
name = pybindsample
version = 0.1.0
[options]
packages = .
[options.package_data]
. = pybindsample.so
Run Code Online (Sandbox Code Playgroud)
pyproject.toml
[build-system]
requires = ["setuptools"]
build-backend = "setuptools.build_meta"
Run Code Online (Sandbox Code Playgroud)
我的问题是我该如何翻译has_ext_modules=lambda: True?has_ext_modules=lambda: True来自这里的解决方案。如果没有这个,执行后python3 -m build --wheel生成的wheel的文件名将变成pybindsample-0.1.0-py3-none-any.whl,而我的旧版本python3 setup.py bdist_wheel将生成文件名为 的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
Run Code Online (Sandbox Code Playgroud)
但它仍然生成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
Run Code Online (Sandbox Code Playgroud)
这会生成pybindsample-0.1.0-cp39-none-macosx_11_0_x86_64.whl,我无法弄清楚为什么 abi 标签仍然是none。
使用 setup.cfg 配置 setuptools 以包含平台名称、python 标签和 ABI 标签的正确方法是什么?
| 归档时间: |
|
| 查看次数: |
662 次 |
| 最近记录: |