导入错误:没有模块名为google.cloud.error_reporting(ImportErro

2019-10-29 18:47发布

几个星期前,我已经安装了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

当我运行画中画显示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: googleapis-packages@google.com
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

任何想法如何解决这个问题?

Answer 1:

我发现了这个问题的解决方法:我们应该通过增加谷歌的依赖vendor.add([any_accessible_folder])然后要么运行在另一个解释一个项目或我们需要从当前pipenv解释中删除所有谷歌的依赖。

解决方法(正确的解决方案仍然欢迎)

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

常见的步骤

  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壳pipenv shell
  2. 参见通过已安装的软件包pip list
  3. 删除所有谷歌的云包加上通过迭代运行一些额外的注意

      PIP卸载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) .

项目

示例项目包含应用的解决方法



文章来源: ImportError: No module named google.cloud.error_reporting