【问题标题】:Automatically add command line options to setup.py based on target根据目标自动将命令行选项添加到 setup.py
【发布时间】:2016-11-27 18:08:02
【问题描述】:

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

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

我目前的解决方案是创建小型 .bat 和 .sh 脚本,并调用 setup.py 所需的调用,但这感觉有点不对劲。 有没有更好的方法来做我想做的事,还是我的直觉让我失望了?

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

【问题讨论】:

    标签: python setup.py


    【解决方案1】:

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

    import os
    print(os.name)
    
    if os.name == 'posix':
        ...
    

    【讨论】:

    • 这如何解决我的问题?我不想根据操作系统执行不同的操作,但根据我构建的分发类型为 setup.py 提供不同的选项。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-25
      相关资源
      最近更新 更多