【问题标题】:importing m2crypto to google app engine将 m2crypto 导入谷歌应用引擎
【发布时间】:2012-02-08 23:09:28
【问题描述】:

嘿,我在将 m2crypto 导入谷歌应用引擎时遇到了一些问题。我想我知道问题所在,但不知道如何解决。无论如何,这是我的目录结构。

mysite/
    app.yaml
    main.py
    urls.py
    ...
    M2Crypto/
        __init.py__ (I think the problem is here)
        EVP.py
        ...
    SWIG/
        (there is no __init.py___ file here)
        _m2crypto.i
        ...

当我这样做from M2Crypto import EVP 时,我收到一条错误消息,上面写着<type 'exceptions.ImportError'>: No module named __m2crypto。此错误出现在 __init.py__ 文件中,它在第 22 行尝试 import __m2crypto。但 M2Crypto 目录中没有 __m2crypto 文件。

我正在使用 0.21.1 版的 M2Crypto,并且只将 M2Crypto 和 SWIG 复制到我的应用程序中。我还尝试将 M2Crypto-0.21.1.tar.gz 中的每个文件复制到我的应用程序中,但这也不起作用。提前致谢。

【问题讨论】:

  • 源码编译了吗?看起来它需要一个必须在 python 包装器之外编译的共享库。
  • 我不这么认为,只是解压缩 M2Crypto-0.21.1.tar.gz 并取出 M2Crypto 和 SWIG 目录。我已经用另一个包(gdata)完成了这个,效果很好。
  • 有人刚刚在我的另一个问题 (stackoverflow.com/questions/8776385/…) 中告诉我,m2crypto 包含 C 代码,无法在 GAE 上运行。感谢您的帮助

标签: python google-app-engine m2crypto


【解决方案1】:

似乎 m2crypto 有几个不能在 App Engine 上正常运行的要求。你的应用是sandboxed,所有使用的库都必须是纯Python。

您没有说明您实际想要做什么,但请注意 PyCrypto 是 included with App Engine。您可能还想考虑使用URLFetch 服务。

【讨论】:

  • 感谢您的回复。我正在尝试让谷歌应用引擎为亚马逊云端制作签名网址。到目前为止,我只知道一个通​​过 M2Crypto 完成的教程 (stackoverflow.com/questions/6549787/…)。
猜你喜欢
  • 1970-01-01
  • 2011-09-18
  • 2011-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多