App Engine Python2转3本地测试遇AssertionError问题求助
解决App Engine Python3升级后本地测试AssertionError问题
问题根源
dev_appserver.py是Google为Python 2环境的App Engine应用设计的本地测试工具,内部硬编码了Python版本断言,因此在Python3环境下运行必然触发AssertionError。Python3的App Engine应用已不再依赖该工具。
解决方案
激活Python3虚拟环境:
source /path/to/your-python3-venv/bin/activate启动本地Cloud Datastore模拟器(Python3环境下官方推荐的本地测试方案):
gcloud beta emulators datastore start --project=你的项目ID新开终端窗口,执行以下命令设置环境变量,让应用自动连接到本地模拟器:
$(gcloud beta emulators datastore env-init)直接运行Python3应用:
Python3的App Engine应用无需通过dev_appserver.py启动,直接运行入口文件即可:python main.py或使用更贴合生产环境的GAE官方运行命令:
gcloud app run main.py
额外注意事项
- 确保gcloud SDK为最新版本,避免组件兼容问题:
gcloud components update - 应用代码中的Datastore客户端无需额外配置,设置环境变量后会自动连接本地模拟器(若之前硬编码了远程连接地址,需移除相关配置)。
内容的提问来源于stack exchange,提问作者motoaddict
相关产品推荐
相关产品推荐

