pycrypto和谷歌应用引擎

时间:2012-09-20 00:01:59

标签: python google-app-engine libraries pycrypto

你如何将pycrypto与GAP一起使用?

它说here它不支持最新版本。这是否意味着我必须使用他们指出的版本?

我试过了,但是,当我执行setup.py时,我收到错误src/MD2.c:15:20: fatal error: Python.h: No such file or directory compilation terminated.
error: command 'gcc' failed with exit status 1

3 个答案:

答案 0 :(得分:4)

几小时前发布的App Engine 1.7.2现在支持最新版本的PyCrypto 2.6。链接的文档可能已过时,并将很快更新。您可以instructing app engine to include it使用它。

答案 1 :(得分:3)

要使GAE使用pycrypto,您必须将以下内容添加到app.yaml文件中:

libraries:
- name: pycrypto
  version: "2.6"

喜欢魅力,code like

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 )

应该像魅力一样工作(实际上会触发下载!)

This information about what versions of what libraries are available are included here

答案 2 :(得分:0)

GAP不会让你使用完整版的pycrypto,因为它有很多C,所以你不能部署它,他们将不得不将其削减到他们可以允许的范围。您必须使用from google.appengine.dist import use_library然后use_library('lib', 'version.')。希望它有点帮助。