我一直在努力部署使用Firebase在App上验证用户教程,并且可以成功地将它部署到本地机器上。
由于我希望测试一些不运行在标准Google上的python模块,我现在尝试通过app.yaml中的这个设置将其部署到灵活环境中
vm: true前端可以很好地部署到灵活的应用程序引擎上,但是后端在导入firebase_helper.py时会抛出一个错误。具体来说,这条线让它窒息了:
from Crypto.Util import asn1原始堆栈跟踪在这里列出:
Traceback (most recent call last):
File "/home/vmagent/python_vm_runtime/google/appengine/ext/vmruntime/meta_app.py", line 550, in GetUserAppAndServe
app, mod_file = self.GetUserApp(script)
File "/home/vmagent/python_vm_runtime/google/appengine/ext/vmruntime/meta_app.py", line 411, in GetUserApp
app = _AppFrom27StyleScript(script)
File "/home/vmagent/python_vm_runtime/google/appengine/ext/vmruntime/meta_app.py", line 271, in _AppFrom27StyleScript
app, filename, err = wsgi.LoadObject(script)
File "/home/vmagent/python_vm_runtime/google/appengine/runtime/wsgi.py", line 85, in LoadObject
obj = __import__(path[0])
File "/home/vmagent/app/main.py", line 22, in <module>
import firebase_helper
File "/home/vmagent/app/firebase_helper.py", line 20, in <module>
from Crypto.Util import asn1
ImportError: No module named Crypto.Util现在,pycrypto已经包含在app.yaml中了:
libraries:
- name: ssl
version: 2.7.11
- name: pycrypto
version: 2.6.1我在服务器上安装了SSH,安装了Crypto。我也可以将它加载到VM上的python控制台中,而不会出现问题。
知道为什么在部署过程中会出现这个错误吗?
发布于 2016-10-07 21:13:17
根据Google文档,在灵活的VM中不再支持app.yaml的库部分。您需要在requirements.txt中声明依赖项。
因此,您需要将这一行添加到requirements.txt中:
pycrypto==2.6.1确保从您的libraries中删除app.yaml指令
确保您的运行时设置为runtime: python-compat。
删除appengine_cfg.py文件,因为灵活的vm会自动安装requirements.txt中的所有依赖项。
https://stackoverflow.com/questions/39924382
复制相似问题