我正在使用 Appengine cron 作业来安排云功能,当我部署并尝试运行作业时,出现以下错误。知道这里可能出了什么问题吗?按照[此处][1]的步骤进行操作
(/base/alloc/tmpfs/dynamic_runtimes/python27/a7637d5531ec9deb_unzipped/python27_lib/versions/1/google/appengine/runtime/wsgi.py:263)
Traceback (most recent call last):
File "/base/alloc/tmpfs/dynamic_runtimes/python27/a7637d5531ec9deb_unzipped/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 240, in Handle
handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
File "/base/alloc/tmpfs/dynamic_runtimes/python27/a7637d5531ec9deb_unzipped/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
handler, path, err = LoadObject(self._handler)
File "/base/alloc/tmpfs/dynamic_runtimes/python27/a7637d5531ec9deb_unzipped/python27_lib/versions/1/google/appengine/runtime/wsgi.py", line 85, in LoadObject
obj = __import__(path[0])
File "/base/data/home/apps/s~zion-hymns/20180222t221057.407849847593018575/main.py", line 18, in <module>
import pubsub_utils
File "/base/data/home/apps/s~zion-hymns/20180222t221057.407849847593018575/pubsub_utils.py", line 24, in <module>
import oauth2client.contrib.appengine as gae_oauth2client
File "./lib/oauth2client/contrib/appengine.py", line 36, in <module>
from oauth2client import client
File "./lib/oauth2client/client.py", line 39, in <module>
from oauth2client import transport
File "./lib/oauth2client/transport.py", line 255, in <module>
redirections=httplib2.DEFAULT_MAX_REDIRECTS,
AttributeError: 'module' object has no attribute 'DEFAULT_MAX_REDIRECTS'
[1]: https://firebase.googleblog.com/2017/03/how-to-schedule-cron-jobs-with-cloud.html?utm_campaign=culture_education_functions_en_06-29-17&utm_source=Firebase&utm_medium=yt-desc
看来我发现了问题。您的 Python 版本pip
正在使用?就我而言是3.6
尽管 Python 本身是 2.7
所以问题是pip
下载了一个Python 3.6
语法版本httplib2
,它被上传到使用 Python 2.7 的 Google App Engine。它试图加载模块并惨败。
尝试这个 :
- 使用以下命令检查您的 pip 版本:
pip -V
如果您看到类似 pip 9.0.1 的内容/bla/bla/lib/python3.6/site-packages (python 3.6)
然后继续
Install pip
对于python 2.7(应该在Python2.7安装包的bin文件夹下)
删除旧的lib
您项目中的文件夹
Run pip install -t lib -r requirements.txt
(确保这个点是正确的2.7
版本)
Deploy
通过这样做,您正在使用正确版本的库并且它应该可以工作。
希望它会有所帮助。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)