几周前,我在家中安装了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: 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
您知道如何解决此问题吗?
答案 0 :(得分:0)
我找到了解决此问题的方法:我们应该通过vendor.add([any_accessible_folder])
添加google依赖项,然后在另一个解释器下运行一个项目,或者我们需要从当前pipenv解释器中删除所有google依赖项。
对于这个特定的项目,我做了下一步。
常用步骤
通过命令
将所有pipenv依赖项安装到lib
文件夹中
pipenv run pip install -r <(pipenv lock -r) -t lib --upgrade
在导入Google Cloud依赖项之前,将本地文件夹用作条目文件中的另一个包来源
from google.appengine.ext import vendor
vendor.add('lib')
from google.cloud import error_reporting # causing problems dependency
pipenv shell
进入pipenv shell pip list
删除所有Google Cloud软件包以及通过反复运行而注意到的一些额外内容
pip uninstall google_cloud_error_reporting google_auth google_core google_cloud_core google_api_core google_cloud_logging googleapis_common_protos protobuf
也许我们可以通过从pipenv解释器中删除所有软件包来对其进行优化?
/usr/bin/python
/usr/bin/python $(which dev_appserver.py) .
这样的解释器运行项目Example project包含已应用的解决方法