Python pycrypto和Google应用程序引擎
如何将pycrypto与GAP结合使用 它说它不支持最新版本。这是否意味着我必须使用他们指出的版本 我尝试了这个,但是当我执行Python pycrypto和Google应用程序引擎,python,google-app-engine,libraries,pycrypto,Python,Google App Engine,Libraries,Pycrypto,如何将pycrypto与GAP结合使用 它说它不支持最新版本。这是否意味着我必须使用他们指出的版本 我尝试了这个,但是当我执行setup.py时,我得到了错误src/MD2.c:15:20:致命错误:Python.h:没有这样的文件或目录 编译已终止。 错误:命令“gcc”失败,退出状态为1 GAP将不允许您使用完整版本的pycrypto,因为它有很多C语言,因此您无法部署它,他们将不得不将其缩减到允许的范围。您必须使用google.appengine.dist中的导入使用库,然后使用库('li
setup.py
时,我得到了错误src/MD2.c:15:20:致命错误:Python.h:没有这样的文件或目录
编译已终止。
错误:命令“gcc”失败,退出状态为1
GAP将不允许您使用完整版本的pycrypto,因为它有很多C语言,因此您无法部署它,他们将不得不将其缩减到允许的范围。您必须使用google.appengine.dist中的导入使用库
,然后使用库('lib','version')。希望它能有所帮助。几小时前发布的AppEngine1.7.2现在支持PyCrypto 2.6,这是最新的版本。链接的文档可能已过时,将很快更新。您可以通过使用它。要使GAE使用pycrypto,您必须将以下内容添加到app.yaml文件中:
libraries:
- name: pycrypto
version: "2.6"
就像一种魅力
应该像符咒一样工作(实际上会触发下载!)
也许你应该使用正确的标记google app engine而不是google apps脚本来获得答案?我在pycrypto 2.6版中添加了这个选项。当我在本地运行它时,它可以工作;当我部署它时,它在访问站点时给我一个服务器错误。@mjibsonIt与此无关,只是一个服务器500错误。没有其他信息。无论如何,我设法解决了这个问题。我还在一个文件中包含另一个库
passlib
,当时给出了错误。
from Crypto.Cipher import AES
from Crypto import Random
class MainPage(webapp2.RequestHandler):
def get( self ) :
self.response.headers['Content-Type'] = 'text/plain'
key = b'Sixteen byte key'
iv = Random.new().read(AES.block_size)
cipher = AES.new(key, AES.MODE_CFB, iv)
msg = iv + cipher.encrypt(b'Attack at dawn')
self.response.write( msg )