当我运行setup.py时,我通常希望根据我构建的分发类型为调用添加不同的命令行选项。
例如,如果我构建一个Windows安装程序(bdist_wininst),我想添加--user-access-control force
。
另一个例子是在构建源代码分发时省略对安装后脚本的调用。
我目前的解决方案是使用所需的setup.py调用创建小的.bat和.sh脚本,但这感觉有些不对劲。 有没有更好的方法来做我想要的,或者我的直觉是否让我失望?
编辑:找到正确的方法。请参阅下面的答案。
答案 0 :(得分:1)
一种方法是在setup.py中检测操作系统:
import os
print(os.name)
if os.name == 'posix':
...
答案 1 :(得分:0)
原来这样做的“正确”方式非常简单,我在查看文档时错过了它:
使用setup.cfg
。
它是一个标准的配置文件,您可以在其中为每个构建目标/分发类型(sdist
,bdist_wheel
,bdist_wininst
等)定义一个部分,其中包含命令行在构建它时你想给setup.py提供的选项。