繁体   English   中英

从 setup.py 构建一个万向轮

[英]Build a universal wheel from setup.py

如何从setup.py构建万向轮? 我不想每次都传入--universal选项,或者只为这个选项创建一个setup.cfg文件。

我知道https://stackoverflow.com/a/35112241/6947337中的解决方法,但是是否有一种干净的方法可以在不临时创建setup.cfg文件的情况下执行此操作?

setup.py 的setup()支持options参数将选项传递给任何命令。 它是命令名称和命令选项的字典。 您可以通过提供所接受的任何truthy值指示它建立一个普遍的轮strtobool

setup(options={'bdist_wheel':{'universal':'1'})

或者

setup(options={'bdist_wheel':{'universal':True})

另见https://github.com/python/cpython/blob/master/Lib/distutils/dist.py#L247

如果您只想制作与 Python 3 兼容的轮子,则不必传递任何参数。 如果轮子是在 Python 3 解释器中构建的,它会自动标记为 py3。

您可以使用setup()script_args选项来覆盖命令行。 所以你可以这样做:

import sys
from setuptools import setup
setup(script_args=sys.argv[1:]+['--universal'])

这不是非常优雅,但可能不如创建临时 setup.cfg 难看

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM