Google App Engine 支持 Python 3 吗?
我开始学习Python 3.4,想要开始使用一些库和Google App Engine,但是大部分Python库只支持Python 2.7,Google App Engine也是这样。
我应该学习2.7吗?还是有更简单的方法?(我可以在我的电脑上同时安装两个版本的Python吗?)
7 个回答
(2021年6月): 到现在为止已经超过7年了,这里很多回答要么不正确,要么部分正确。写这段话的时候,Python 3已经被所有的App Engine产品完全支持。以下是支持的版本、文档链接和发布公告:
- App Engine - 标准版 (2018年8月): 支持Python 2.7和3.7, 3.8, 3.9
- App Engine - 灵活版 (2016年8月测试版, 2017年3月正式版): Python 3.7(.2)
自从原问题发布以来,还有一个变化就是Google Cloud推出了另外两个无服务器计算平台,它们和App Engine一起,都支持Python 3:
- Cloud Functions (2017年3月测试版, 2018年8月正式版): 支持与App Engine - 标准版相同的版本
- Cloud Run (2019年4月测试版, 2019年11月正式版): 支持任何可以放进容器的版本
没错!Google App Engine支持Python 3,你需要设置灵活环境。
我有机会在App Engine上部署我的应用程序,它使用的是Python 3.6的运行环境,运行得非常顺利... :)
是的。从2018年8月8日起,Python 3.7可以在Google App Engine的标准运行环境中使用。你可以在这个链接里找到更多信息。
如果你正在使用Google App Engine的测试环境,你可以编辑你的应用程序的app.yaml
文件,并指定你需要的Python版本:
runtime: python
# vm: true has been deprecated
# check how env:flex may affect your billing
env: flex
entrypoint: gunicorn -b :$PORT main:app
runtime_config:
python_version: 3
不,这个不行。
[编辑说明:截至2018年8月,这个回答已经过时;请查看评论和其他回答]
Google App Engine
(GAE)
为 Python
应用程序提供了一个沙盒环境的 Python 2.7
运行时。这是正常的App Engine托管方式。不过,在 GAE
中,你可以使用托管虚拟机托管。
托管虚拟机托管允许你在可配置的Google计算引擎虚拟机上运行 GAE
应用程序,这样你就有了更多的灵活性。目前,托管虚拟机还处于Alpha阶段,只支持 Java 7
、Python 2.7
和 Go 1.4
运行环境。如果你想使用其他运行环境(比如 Python 3
或 node.js
),你可以创建用户自定义的运行环境。
注意:使用托管虚拟机时,你将无法使用 Python 2.7
的GAE库。
如果你坚持使用GAE,因为
Python 3+
不可行,我建议你先学习 2.7,等GAE库支持Python 3+
后再切换到 3+ 版本。如果你学会了其中一个版本,切换到另一个版本会很简单。如果你坚持使用
Python 3+
,你可以使用Heroku 或 Microsoft Azure。这两个平台都支持Python 2.7
和3.4
。