如何以编程方式在Google Appengine(Python)中获取SDK版本?

如何以编程方式在Google Appengine(Python)中获取SDK版本?,python,google-app-engine,sdk,Python,Google App Engine,Sdk,谷歌Appengine的当前版本是1.8.8 能够在运行时(无论是在开发服务器上还是在生产环境中)查找这一点非常有用,以检查我的应用程序是否在正确的SDK上运行(因为它不一定是最新的) 我已经尝试了os.environ以及,但似乎都没有在开发服务器上公开“1.8.8”。的值 os.environ['SERVER_SOFTWARE'] 是一根弦吗 Google App Engine/1.8.8 或者在开发方面,它就像 Development/2.0 因此,您可以自己解析版本号,例如: sof

谷歌Appengine的当前版本是1.8.8

能够在运行时(无论是在开发服务器上还是在生产环境中)查找这一点非常有用,以检查我的应用程序是否在正确的SDK上运行(因为它不一定是最新的)

我已经尝试了
os.environ
以及,但似乎都没有在开发服务器上公开“1.8.8”。

的值

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']
是一根弦吗

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.

似乎在Appengine生产平台和开发服务器之间没有一种一致的方法

因此,要获得SDK版本:

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

似乎没有一种方法可以在Appengine生产平台和开发服务器上始终如一地做到这一点

因此,要获得SDK版本:

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

这在生产中是正确的,但是在(最新)的开发服务器上,
os.environ['server\u SOFTWARE']
的价值是“development/2.0”。很好的观点@wodow,谢谢!我更正了我的答案以处理这两种情况。开发图中的“2.0”也改为“1.8.8”?在这种情况下,什么映射到例如1.8.7版?这在生产中是正确的,但在(最新)的开发服务器上,
os.environ['server\u SOFTWARE']
的值是“development/2.0”。很好的观点@wodow,谢谢!我更正了我的答案以处理这两种情况。开发图中的“2.0”也改为“1.8.8”?在这种情况下,什么映射到例如1.8.7版?