在Ubuntu 16.04上,我突然从本地GAE开发服务器获得导入错误。
本地开发服务器启动,包括管理界面,但不再加载应用程序。
同一台机器上的同一个库的本机python导入(在本例中为#34;来自google.cloud导入数据存储区")可以正常工作。
GAE标准应用确实在部署时运行,但开发只是有点挑战。
google-cloud的版本是0.27.0 gcloud组件是172.0.1 python是Anaconda 2.7.13 GAE是标准的
我已经向我的中等能力证实了$ PATH对于所有已命名的库都是正确的。
我已删除并重新添加了所有已命名的库。
cachetools(2.0.1)应该注意,它是作为google云库的依赖项安装的,所以我不认为这可以通过requirements.txt或" library"来解决。在app.yaml。
我最近经历了一个删除和添加库来修复apache_beam 2.0.1问题的循环,所以我可能已经搞砸了别的东西,但我不知道在哪里看。
建议深表感谢。完全追溯(来自管理员,与应用程序相同):
Traceback (most recent call last):
File "/usr/lib/google-cloud-sdk/platform/google_appengine/google/appengine/tools/devappserver2/python/runtime/request_handler.py", line 232, in handle_interactive_request
exec(compiled_code, self._command_globals)
File "<string>", line 1, in <module>
File "/home/brian/anaconda3/lib/python2.7/site-packages/google/cloud/datastore/__init__.py", line 61, in <module>
from google.cloud.datastore.client import Client
File "/home/brian/anaconda3/lib/python2.7/site-packages/google/cloud/datastore/client.py", line 23, in <module>
from google.cloud.client import ClientWithProject
File "/home/brian/anaconda3/lib/python2.7/site-packages/google/cloud/client.py", line 27, in <module>
from google.oauth2 import service_account
File "/home/brian/anaconda3/lib/python2.7/site-packages/google/oauth2/service_account.py", line 79, in <module>
from google.auth import jwt
File "/home/brian/anaconda3/lib/python2.7/site-packages/google/auth/jwt.py", line 49, in <module>
import cachetools
ImportError: No module named cachetools
答案 0 :(得分:0)
stacktrace表示您正在从本地系统安装(site-packages
目录)运行库,而不是从您的应用程序运行。
对于标准的env GAE应用,您需要在应用中安装依赖项,它们将与您的应用代码一起上传到GAE。
更具体地说,您需要使用-t <your_app_lib_dir>
选项进行pip
安装。来自Installing a third-party library:
- 醇>
使用带有
-t <directory>
标志的pip(版本6或更高版本)将库复制到您之前创建的文件夹中 步。例如:pip install -t lib/ <library_name>
答案 1 :(得分:0)
我通过app根目录中的requirements.txt文件解决了我的问题。
我有:google-cloud == 0.22.0
并将其更改为:google-cloud == 0.27.0
修复了它。