【问题标题】:Reading environment/shell variables读取环境/shell 变量
【发布时间】:2014-08-06 09:32:57
【问题描述】:

我看到waf 已经读取了一些 shell 变量并将其保存在其环境中 (https://code.google.com/p/waf/wiki/EnvironmentVariables)。但从 Waf Book 中, 关于如何添加我感兴趣的其他变量,我无法找到 在configure时间阅读。我是否必须只使用 Python 的 os 库并阅读 还是waf 有任何其他机制可以做到这一点?

TIA

【问题讨论】:

    标签: python shell environment-variables waf


    【解决方案1】:

    是的,这就是 waf 的优势,它在 Python 中,因此您可以从任何地方获取数据,这样您就可以使用 Python 库进行读取。

    但是 waf 已经为您完成了工作,形成了 ApiDocs 在 Configure 对象上的 add_os_flags 将 OS 环境变量读入 Configure 对象中的 env 字典

    例如

    def configure(conf):
        conf.add_os_flags('CFLAGS')
    

    我会注意到,将数据放在构建中而不是在外部变量中可能会更好,并在进程中使用命令行选项。这样做的原因是让项目可以轻松移动到另一个环境,并且无需设置可能会忘记的额外内容即可工作。换句话说,将配置集中在一个地方,而不是分散在多个地方。

    【讨论】:

    • 所以,我可以使用add_os_flags 来获取一个shell var。顺便说一句,我已经为此添加了一个 --<opt>,如果在 configure 时间错过了 --<opt>,我还想提供选择 shell 变量的灵活性/选择。
    猜你喜欢
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 2017-03-06
    • 2012-09-05
    • 2017-08-13
    • 2019-02-25
    • 2019-11-21
    • 2021-08-01
    相关资源
    最近更新 更多