根据目标自动向setup.py添加命令行选项

时间:2016-11-27 18:08:02

标签: python setup.py

当我运行setup.py时,我通常希望根据我构建的分发类型为调用添加不同的命令行选项。

例如,如果我构建一个Windows安装程序(bdist_wininst),我想添加--user-access-control force。 另一个例子是在构建源代码分发时省略对安装后脚本的调用。

我目前的解决方案是使用所需的setup.py调用创建小的.bat和.sh脚本,但这感觉有些不对劲。 有没有更好的方法来做我想要的,或者我的直觉是否让我失望?

编辑:找到正确的方法。请参阅下面的答案。

2 个答案:

答案 0 :(得分:1)

一种方法是在setup.py中检测操作系统:

import os
print(os.name)

if os.name == 'posix':
    ...

答案 1 :(得分:0)

原来这样做的“正确”方式非常简单,我在查看文档时错过了它:

使用setup.cfg 它是一个标准的配置文件,您可以在其中为每个构建目标/分发类型(sdistbdist_wheelbdist_wininst等)定义一个部分,其中包含命令行在构建它时你想给setup.py提供的选项。