簡體   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