3

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

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

我试过了,但是,当我执行时,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

4

3 回答 3

4

几小时前发布的 App Engine 1.7.2 现在支持最新版本 PyCrypto 2.6。链接的文档可能已过时,很快就会更新。您可以通过指示应用引擎包含它来使用它

于 2012-09-20T06:10:01.027 回答
3

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

libraries:
- name: pycrypto
  version: "2.6"

像一个魅力,像代码

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 )

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

此处包含有关可用库的哪些版本的信息

于 2012-12-20T02:00:41.333 回答
0

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

于 2012-09-20T05:52:09.907 回答