M2Crypto安装

时间:2015-05-20 08:26:35

标签: m2crypto

我正在努力让我的M2Crypto安装工作

C:\Python27>python
Python 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from M2Crypto import RSA
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\M2Crypto\__init__.py", line 22, in <module>
    import __m2crypto
ImportError: No module named __m2crypto
>>>

并不奇怪,因为在任何地方都没有__m2crypto模块,但它应该在哪里以及我应该从哪里获取它?

我已经从https://pypi.python.org/pypi/M2Crypto安装了M2Crypto,方法是下载M2Crypto-master并将解压后的M2Crypto文件夹复制到c:\ Python27 \ lib

从M2Crypto我只需要RSA功能,因此有关M2Crypto替代方案的建议也会有所帮助。

任何帮助高度赞赏

2 个答案:

答案 0 :(得分:0)

有关构建M2Crypto的非常好的指导,我使用自己,在这里: http://www.gooli.org/blog/building-m2crypto-on-windows/

  

构建适用于Windows的M2Crypto

     

M2Crypto使用名为SWIG的工具来帮助编写Python代码   包装用C编写的OpenSSL库,所以我们必须这样做   下载并安装它。

     

我们走吧。

     
      
  1. 从中下载最新的SWIG Windows二进制文件   http://www.swig.org/download.html
  2.   
  3. 将SWIG包解压缩并解压缩到某个目录并添加   PATH的目录。
  4.   
  5. 从中下载最新的M2Crypto来源   http://chandlerproject.org/bin/view/Projects/MeTooCrypto
  6.   
  7. 在某处解压缩并解压缩M2Crypto源并打开命令   提示那里。
  8.   
  9. &GT; python setup.py build_ext -openssl c:/ openssl
  10.   
  11. &GT; python setup.py bdist_wininst
  12.         

    最后一个命令将创建一个不错的M2Crypto-0.18.win32-py2.4.exe   您可以运行以安装M2Crypto的dist子目录中的文件   Python site-packages目录。

         

    要测试您的构建,请运行python并导入M2Crypto。如果你得到了   错误,显示'ImportError:DLL加载失败,错误代码182',   这是因为M2Crypto库无法找到OpenSSL DLL。你会   需要将libeay32.dll和ssleay32.dll文件放在python的某个地方   可以找到他们。脚本所在的目录是一个很好的目录   赌注。

如果您仍然遇到构建问题,我最近在Windows 7 x64上编译了M2Crypto以满足我的需求 - Python 2.7您可以在这里下载二进制文件(M2Crypto-0.22.3.win32-py2.7.exe): https://drive.google.com/file/d/0ByAiJQIq8icYOUNiZEJQQzVhdVU/view?usp=sharing

祝你好运

答案 1 :(得分:0)

在 Windows 中,您可以从 AppVeyor 构建的项目中安装 M2Crypto,请参阅详细概述 here

例如,要为 64 位 Python 3.8 安装带有 pip 的 M2Crypto 0.37.1,请运行:

pip install \
  https://ci.appveyor.com/api/buildjobs/5c56adinoe9l8kng/artifacts/dist/M2Crypto-0.37.1-cp38-cp38-win_amd64.whl

注意!工件可能会在 AppVeyor 中过期,请参阅 this bug 了解更新。