【问题标题】:How to programatically get the SDK version in Google Appengine (Python)?如何以编程方式在 Google Appengine (Python) 中获取 SDK 版本?
【发布时间】:2013-12-27 18:23:07
【问题描述】:

Google Appengine 的当前版本是 1.8.8。

如果能够在运行时(在开发服务器和生产环境中)检查我的应用程序是否在正确的 SDK 上运行(因为它不一定是最近的)。

我已经按照the Python runtime docsApp Identity API 尝试过os.environ,但似乎都没有在开发服务器上公开“1.8.8”。

【问题讨论】:

    标签: python google-app-engine sdk


    【解决方案1】:

    价值

    os.environ['SERVER_SOFTWARE']
    

    是一个类似的字符串

    Google App Engine/1.8.8
    

    或者在开发中是这样的

    Development/2.0
    

    所以你可以自己解析出版本号,例如:

    soft = os.environ['SERVER_SOFTWARE']
    ver = soft[soft.find('/')+1:]  # Either '1.8.8' or '2.0' depending on version.
    

    【讨论】:

    • 在生产环境中确实如此,但在(最新的)开发服务器上,os.environ['SERVER_SOFTWARE'] 的值是“Development/2.0”。
    • 好点@wodow,谢谢!我更正了我的答案以处理这两种情况。
    • 那么开发中的“2.0”映射到“1.8.8”了吗?在这种情况下,映射到例如1.8.7 版?
    【解决方案2】:

    似乎没有办法在 Appengine 生产平台开发服务器上始终如一地做到这一点。

    所以,要获取 SDK 版本:

    • 在生产中:使用os.environ
    • 在开发服务器上:读取 GAE SDK 目录中的VERSION 文件(在 1.8.8 版本中为 YAML 格式)。

    【讨论】:

      猜你喜欢
      • 2010-09-08
      • 2019-10-11
      • 2021-08-20
      • 1970-01-01
      • 2016-09-16
      • 1970-01-01
      • 1970-01-01
      • 2011-10-28
      • 1970-01-01
      相关资源
      最近更新 更多