我正在尝试为 Google App Engine 创建一个 Python 3 应用程序(使用
PyCharm
)。
我认为我遇到了一个基本问题,其中名为“google”的模块在两个位置定义:在
gcloud install
创建的 Google App Engine 目录中,以及当我 pip install 附加组件时在我的项目的 venv 目录中例如通过 google-cloud-ndb
文件实现 requirements.txt
。
当我选择
PyCharm
设置 |框架| App Engine 并指定 gcloud
安装 App Engine
的目录,编辑器可以解析 import google.appengine
之类的内容,但不能解析 import google.cloud
之类的内容。如果我取消选择 App Engine
框架,那么编辑器可以找到 import google.cloud
,但找不到 import google.appengine
。
所有代码示例都只列出
import google.xyz
,所以我想当我部署时,Google
将正确解决所有这些问题。但这也意味着我可能也不应该玩弄命名或导入。
这是非常基本的。这是怎么处理的?
解决方案是创建一个 Flask 项目,而不是 App Engine 项目,然后将安装的 App Engine 模块复制到项目的 venv 中,这样 PyCharm 就可以在一处看到所有 google 子模块。
要让 PyCharm 真正开发/运行/调试 Python 3 App Engine 应用程序,还有更多内容:请参阅 如何在 Windows 上使用 PyCharm 测试/运行/调试非旧版 App Engine 项目