4

我在 Windows 上使用最新版本的 pycharm 2018.2。我也将 Google Cloud Sdk 更新到了最新版本。

当我在 Pycharm 中使用内置的 App Engine 运行配置时: 运行窗口中出现在此处输入图像描述 导入错误:ImportError: cannot import name _common

"C:\Program Files\JetBrains\PyCharm 2018.1.1\bin\runnerw.exe" C:\Code\my- 
 project\env\Scripts\python.exe "C:/Program Files (x86)/Google/Cloud 
 SDK/google-cloud-sdk/bin/dev_appserver.py" --port 8484 app.yaml tasks.yaml 
 longtasks.yaml --log_level=debug Traceback (most recent call last):
 File "C:/Program Files (x86)/Google/Cloud SDK/google-cloud- 
 sdk/bin/dev_appserver.py", line 12, in <module>
   from bootstrapping import bootstrapping
  File "C:\Program Files (x86)\Google\Cloud SDK\google-cloud-   
   sdk\bin\bootstrapping\bootstrapping.py", line 24, in <module>
  from . import setup  # pylint:disable=g-import-not-at-top
  File "C:\Program Files (x86)\Google\Cloud SDK\google-cloud- 
  sdk\bin\bootstrapping\setup.py", line 55, in <module>
  from googlecloudsdk.core import properties
  File "C:\Program Files (x86)\Google\Cloud SDK\google-cloud- 
  sdk\lib\googlecloudsdk\core\properties.py", line 36, in <module>
  from googlecloudsdk.core.util import times
  File "C:\Program Files (x86)\Google\Cloud SDK\google-cloud- 
  sdk\lib\googlecloudsdk\core\util\times.py", line 55, in <module>
  from dateutil.tz import _common as tz_common
  ImportError: cannot import name _common

  Process finished with exit code 1

dateutil.tz 包位于C:\Python27\Lib\site-packages我正在运行的项目中有一个 dateutil 包。我不知道这是否与问题有关。我尝试更改默认的 python 解释器,但它也不起作用。我尝试以管理员身份运行 Pycharm,但也没有任何效果。调试和非调试运行命令都会导致此问题。

如果我直接在终端中运行命令启动 dev_appserver.py(有或没有虚拟环境 python),它可以正常工作,例如"C:/Program Files (x86)/Google/Cloud SDK/google-cloud-sdk/bin/dev_appserver.py" --port 8484 app.yaml tasks.yaml longtasks.yaml

此外,如果我运行 pycharm 正在运行的命令(除了 runnerw 部分),那么它也可以正常工作(从命令行):

C:\Code\project>C:\Code\project\env\Scripts\python.exe "C:/Program Files 
(x86)/Google/Cloud SDK/google-cloud-sdk/bin/dev_appserver.py" --port 8484 
 app.yaml tasks.yaml longtasks.yaml --log_level=debug
 INFO     2018-07-29 08:11:15,566 devappserver2.py:178] Skipping SDK update 
 check.
 INFO     2018-07-29 08:11:17,726 api_server.py:274] Starting API server at: 
 http://localhost:59886
 INFO     2018-07-29 08:11:18,259 dispatcher.py:270] Starting module 
   "default" running at: http://localhost:8484
 INFO     2018-07-29 08:11:18,519 dispatcher.py:270] Starting module "tasks" 
 running at: http://localhost:8485
 INFO     2018-07-29 08:11:18,815 dispatcher.py:270] Starting module 
"longtasks" running at: http://localhost:8486
INFO     2018-07-29 08:11:18,822 admin_server.py:152] Starting admin server 
at: http://localhost:8000

还值得注意的是,我可以在 Pycharm 中运行其他 GAE 项目并且它们确实运行(这让我认为这与我对这个项目的配置有关)。

4

4 回答 4

4

这是 PyCharm Pro 2018.2.4 中的一个错误。我遇到了同样的问题,并回滚到 2018.1.5 并且运行良好。

问题是2018.2.4正在加载cloud-sdk appengine灵活环境类而不是标准环境类。

于 2018-09-28T19:20:49.607 回答
1

解决这个问题的一种方法是在文本编辑器中打开<path-to...>/googlecloudsdk/core/util/times.py并注释掉

from dateutil.tz import _common as tz_common

tz_common.PY3 = True  # MONKEYPATCH!!! Fixes a Python 2 standard module bug.

假设您不需要这个“monkeypatch”,这就解决了这个问题。

于 2019-09-19T10:57:47.973 回答
0

@user2061291 的评论是真的。Pycharm 正在尝试运行 google-cloud-sdk/bin/dev_appserver.py。如果你想从 pycharm 运行应用程序引擎,因为你想调试你的代码或其他东西,那么你应该像这样创建一个新的 python 运行器:

脚本路径:

/{您的 GOOGLE-CLOUD-SDK 根路径}/google-cloud-sdk/platform/google_appengine/dev_appserver.py

例如:

于 2020-03-24T20:40:00.617 回答
0

我安装了版本211.0.0- https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-211.0.0-darwin-x86_64.tar.gz

其次是:

gcloud components install app-engine-python
于 2019-03-25T13:58:11.133 回答