Python M2Crypto DLL加载失败,无法找到指定模块

3 投票
2 回答
3560 浏览
提问于 2025-04-17 10:31

我正在尝试在我的web2py应用中使用这个切片,链接是http://www.web2pyslices.com/slices/take_slice/106

我安装了M2Crypto这个模块,并按照切片的说明操作,但在加载页面时收到了这个错误

Traceback (most recent call last):
  File "F:\Projects\Web2py\w1992\gluon\restricted.py", line 194, in restricted
    exec ccode in environment
  File "F:\Projects\Web2py\w1992\applications\internet2letter\views\account/order.html", line 102, in <module>
  File "F:\Projects\Web2py\w1992\gluon\custom_import.py", line 294, in __call__
    fromlist, level)
  File "F:\Projects\Web2py\w1992\gluon\custom_import.py", line 78, in __call__
    level)
  File "applications\internet2letter\modules\crypt.py", line 2, in <module>
    from M2Crypto import BIO, SMIME, X509, EVP
  File "F:\Projects\Web2py\w1992\gluon\custom_import.py", line 294, in __call__
    fromlist, level)
  File "F:\Projects\Web2py\w1992\gluon\custom_import.py", line 78, in __call__
    level)
  File "C:\Python27\lib\site-packages\M2Crypto\__init__.py", line 22, in <module>
    import __m2crypto
  File "F:\Projects\Web2py\w1992\gluon\custom_import.py", line 294, in __call__
    fromlist, level)
  File "F:\Projects\Web2py\w1992\gluon\custom_import.py", line 78, in __call__
    level)
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.

于是我尝试直接从Python中导入这个模块,我打开了终端并输入了

>>> import M2Crypto
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\M2Crypto\__init__.py", line 23, in <module
>
    import m2
  File "C:\Python27\lib\site-packages\M2Crypto\m2.py", line 28, in <module>
    from __m2crypto import *
ImportError: DLL load failed: Das angegebene Modul wurde nicht gefunden.
>>>

有没有办法解决这个问题呢??

2 个回答

0

解决办法: 为了使用与 Python 2.7 兼容的模块,并避免帖子中提到的错误,你需要安装以下 Microsoft Visual Studio 的库(所有列出的 MV C++ 版本): 从 2008 年到 2022 年的版本 + 包括 2010 工具(也在列表中) + Microsoft Visual C++ Compiler Package for Py 2.7 在这里输入图片描述

2

我也遇到过同样的问题,后来通过这个链接安装了Windows版的OpenSSL来解决:http://slproweb.com/products/Win32OpenSSL.html

我使用的是OpenSSL v1.0.1b(把DLL文件安装到了系统目录),搭配M2Crypto 0.21.1和Python 2.7.3(都是32位版本),没有遇到任何问题。

撰写回答