【发布时间】:2019-08-27 21:50:23
【问题描述】:
在 MacOS 上使用 PyCharm Pro 2019.1.1,使用带有 Flask、Jinja2 等的 Python 3 编写我的应用程序。我的应用程序的一个版本已经使用 App Engine Flexible 部署,我希望下一个版本使用 Datastore 作为我的生产环境变量。尝试关注 this post 时遇到问题,需要以下导入:
from google.appengine.ext import ndb
对于我的生活,我似乎无法让这个导入工作。我确信部署我的应用程序后它会工作(著名的遗言?),但我也希望它在本地工作。
最初尝试pip install google-appengine 和pip install appengine-sdk,却发现我的venv 上都安装不了。
Google Cloud SDK v241.0.0 安装在/Users/<me>/google-cloud-sdk,gcloud 命令在终端中运行。 gcloud components list 显示已安装 app-engine-python 组件,这可能无关紧要,因为我在 PyCharm 中使用了 venv。
PyCharm 的 documentation 指示我选择 Languages & Frameworks > Google App Engine 下的 App Engine SDK 目录。
选择/Users/<me>/google-cloud-sdk 会产生此错误:
Traceback (most recent call last):
File "/Users/<me>/Library/Application Support/JetBrains/Toolbox/apps/PyCharm-P/ch-0/191.6605.12/PyCharm.app/Contents/helpers/pydev/pydevconsole.py", line 5, in <module>
from _pydev_comm.rpc import make_rpc_client, start_rpc_server, start_rpc_server_and_make_client
File "/Users/<me>/Library/Application Support/JetBrains/Toolbox/apps/PyCharm-P/ch-0/191.6605.12/PyCharm.app/Contents/helpers/pydev/_pydev_comm/rpc.py", line 4, in <module>
from _pydev_comm.server import TSingleThreadedServer
File "/Users/<me>/Library/Application Support/JetBrains/Toolbox/apps/PyCharm-P/ch-0/191.6605.12/PyCharm.app/Contents/helpers/pydev/_pydev_comm/server.py", line 4, in <module>
from _shaded_thriftpy.server import TServer
File "/Users/<me>/Library/Application Support/JetBrains/Toolbox/apps/PyCharm-P/ch-0/191.6605.12/PyCharm.app/Contents/helpers/third_party/thriftpy/_shaded_thriftpy/server.py", line 5, in <module>
import logging
File "/Users/<me>/google-cloud-sdk/lib/surface/logging/__init__.py", line 22, in <module>
from googlecloudsdk.calliope import base
ModuleNotFoundError: No module named 'googlecloudsdk'
选择/Users/<me>/google-cloud-sdk/platform/google_appengine 似乎让我更进一步,但仍然产生错误:
Traceback (most recent call last):
File "/Users/<me>/Library/Application Support/JetBrains/Toolbox/apps/PyCharm-P/ch-0/191.6605.12/PyCharm.app/Contents/helpers/pydev/pydevconsole.py", line 5, in <module>
from _pydev_comm.rpc import make_rpc_client, start_rpc_server, start_rpc_server_and_make_client
File "/Users/<me>/Library/Application Support/JetBrains/Toolbox/apps/PyCharm-P/ch-0/191.6605.12/PyCharm.app/Contents/helpers/pydev/_pydev_comm/rpc.py", line 1, in <module>
import socket
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/socket.py", line 53, in <module>
from enum import IntEnum, IntFlag
ImportError: cannot import name 'IntFlag' from 'enum' (/Users/<me>/google-cloud-sdk/platform/google_appengine/lib/grpcio-1.9.1/enum/__init__.py)
正如控制台所指出的,“枚举”中没有 IntFlag 对象。当我启动 Python 控制台时,这些错误会立即显示出来;我什至没有光标。我哪里错了?
【问题讨论】:
标签: python google-app-engine pycharm app-engine-ndb