【发布时间】:2016-09-06 23:51:58
【问题描述】:
我正在尝试让 libarchive 模块在 windows 上的 python 3.4 中工作。 我已经用 pip 安装了 libarchive-c,一切正常,但是每当我尝试将它导入我的代码甚至单独运行它时,我都会收到错误:
OSError: [WinError 126] The specified module could not be found
这是来自以下代码的 ffi.py:
libarchive_path = os.environ.get('LIBARCHIVE') or find_library('archive')
libarchive = ctypes.cdll.LoadLibrary(libarchive_path)
我以前从未使用过 ctypes,但如果我理解正确,它正在寻找外部 DLL。所以找到并安装了http://gnuwin32.sourceforge.net/packages/libarchive.htm 我也添加了 C:\Program Files (x86)\GnuWin32\bin 到我的 %PATH% 环境变量中,但它仍然无法加载模块。因为它没有给我名字,所以我不确定它在寻找什么模块。 我错过了什么?
【问题讨论】:
-
它正在寻找来自
LIBARCHIVE环境变量或“archive.dll”的DLL 名称。我建议使用LIBARCHIVE而不是重命名 DLL。在运行 Python 之前,您可以在命令提示符下使用set LIBARCHIVE=libarchive2.dll对此进行测试。请注意,这是一个 32 位 DLL,因此您必须使用 32 位 Python。
标签: python windows libarchive