我希望在我的项目中添加google.cloud.storage依赖,因此我尝试使用以下命令安装此依赖:
pip install --upgrade google-cloud-storage
再次使用dev_appserver运行我的应用程序时,它告诉我需要更新gcloud组件。所以,执行gcloud components update
。
在我的src/__init__.py
文件中,我有这样一段代码,告诉gcloud在哪个文件夹中查找依赖项:
from google.appengine.ext import vendor
vendor.add('src/libs')
除了我收到错误消息 ImportError: No module named google.oauth2
之外,所有依赖项都已正确安装。
备注:我的应用程序使用OAuth2来保护对API的访问。更新组件之前它一直工作正常,现在即使我回滚代码,删除libs文件夹并重新安装依赖项,我仍然遇到了No module错误,并且似乎dev_appserver没有在libs文件夹中寻找该依赖项!
这是 gcloud --version
的结果:
Google Cloud SDK 188.0.1
app-engine-python 1.9.66
app-engine-python-extras 1.9.63
bq 2.0.28
core 2018.02.08
gsutil 4.28
以下是Traceback信息:
Traceback (most recent call last):
File "/home/login/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/home/login/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/home/login/google-cloud-sdk/platform/google_appengine/google/appengine/runtime/wsgi.py", line 96, in LoadObject
__import__(cumulative_path)
File "/home/headless/Documents/Projects/meterFleet/app-backend/src/main.py", line 5, in <module>
from src.app.user.api import UserApi
File "/home/headless/Documents/Projects/meterFleet/app-backend/src/app/user/api.py", line 7, in <module>
from src.googleapis.iam import getIamPolicy, addIapUser, deleteIapUser
File "/home/headless/Documents/Projects/meterFleet/app-backend/src/googleapis/iam.py", line 5, in <module>
from src.common.authentication import OAuth
File "/home/headless/Documents/Projects/meterFleet/app-backend/src/common/authentication.py", line 3, in <module>
from google.oauth2 import service_account
File "/home/login/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/runtime/sandbox.py", line 1147, in load_module
raise ImportError('No module named %s' % fullname)
ImportError: No module named google.oauth2