首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >部署到Google时Crypto.Util导入firebase_helper.py中的错误

部署到Google时Crypto.Util导入firebase_helper.py中的错误
EN

Stack Overflow用户
提问于 2016-10-07 19:17:25
回答 1查看 206关注 0票数 1

我一直在努力部署使用Firebase在App上验证用户教程,并且可以成功地将它部署到本地机器上。

由于我希望测试一些不运行在标准Google上的python模块,我现在尝试通过app.yaml中的这个设置将其部署到灵活环境中

代码语言:javascript
复制
vm: true

前端可以很好地部署到灵活的应用程序引擎上,但是后端在导入firebase_helper.py时会抛出一个错误。具体来说,这条线让它窒息了:

代码语言:javascript
复制
from Crypto.Util import asn1

原始堆栈跟踪在这里列出:

代码语言:javascript
复制
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中了:

代码语言:javascript
复制
libraries:
- name: ssl
  version: 2.7.11
- name: pycrypto
  version: 2.6.1

我在服务器上安装了SSH,安装了Crypto。我也可以将它加载到VM上的python控制台中,而不会出现问题。

知道为什么在部署过程中会出现这个错误吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-07 21:13:17

根据Google文档,在灵活的VM中不再支持app.yaml的库部分。您需要在requirements.txt中声明依赖项。

因此,您需要将这一行添加到requirements.txt中:

代码语言:javascript
复制
pycrypto==2.6.1

确保从您的libraries中删除app.yaml指令

确保您的运行时设置为runtime: python-compat

删除appengine_cfg.py文件,因为灵活的vm会自动安装requirements.txt中的所有依赖项。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39924382

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档