ImportError:没有名为google.cloud.error_reporting的模块

问题描述 投票:0回答:1

几个星期前我在家里安装了Ubuntu 18.10,今天我决定从家里的Windows迁移到这个操作系统。

我用它来进行Python开发。

不幸的是,我遇到了一些奇怪的错误,不知道如何解决它。

当我尝试运行我的项目时,我在简单请求期间看到下一个错误

File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/runtime/sandbox.py", line 1154, in load_module
    raise ImportError('No module named %s' % fullname)
ImportError: No module named google.cloud.error_reporting

当我运行pip show google_cloud_error_reporting时,它会向我显示有关该软件包的正确信息

DEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.
Name: google-cloud-error-reporting
Version: 0.30.1
Summary: Stackdriver Error Reporting API client library
Home-page: https://github.com/GoogleCloudPlatform/google-cloud-python
Author: Google LLC
Author-email: [email protected]
License: Apache 2.0
Location: /home/p35/.local/share/virtualenvs/tt-T7X9xdJU/lib/python2.7/site-packages
Requires: google-cloud-logging
Required-by: 

gcloud --version的输出

Google Cloud SDK 240.0.0
alpha 2019.03.22
app-engine-python 1.9.84
app-engine-python-extras 1.9.84
beta 2019.03.22
bq 2.0.42
cloud-datastore-emulator 2.1.0
core 2019.03.22
gsutil 4.37
kubectl 2019.03.22

我试图重新安装pipenv,setuptools,项目依赖项本身,但没有任何帮助我。

简化项目https://github.com/pahan35/google-cloud-error-reporting-import-bug

知道如何解决这个问题吗?

python ubuntu google-app-engine-python pipenv
1个回答
0
投票

我找到了解决此问题的方法:我们应该通过vendor.add([any_accessible_folder])添加google依赖项,然后在另一个解释器下运行项目,或者我们需要从当前的pipenv解释器中删除所有google依赖项。

Workaround (right solution still welcome)

对于这个特定的项目,我做了下一步。

常见步骤

  1. 通过命令将所有pipenv依赖项安装到lib文件夹 pipenv run pip install -r <(pipenv lock -r) -t lib --upgrade
  2. 在导入谷歌云依赖项之前,请将您的本地文件夹用作条目文件中的另一个包源
from google.appengine.ext import vendor

vendor.add('lib')

from google.cloud import error_reporting # causing problems dependency
  1. 然后你需要从pipenv解释器中删除谷歌包或使用另一个。我测试了两个:B更容易,但可能会导致意外冲突或错过包

A.从所有谷歌云依赖关系中清除当前的pipenv解释器

  1. 通过命令pipenv shell进入pipenv shell
  2. 通过pip list查看已安装的软件包
  3. 通过迭代运行删除所有谷歌云包以及一些额外的注意事项 点击卸载google_cloud_error_reporting google_auth google_core google_cloud_core google_api_core google_cloud_logging googleapis_common_protos protobuf 也许我们可以通过从pipenv解释器中删除所有包来优化它?

B.使用另一个口译员

  1. 找到理想解释器的绝对路径。我使用了全球一个/usr/bin/python
  2. 通过像/usr/bin/python $(which dev_appserver.py) .这样的解释器运行项目

Project

Example project包含应用的解决方法

© www.soinside.com 2019 - 2024. All rights reserved.