0

抱歉,如果问题没有很好地提出)

我正在尝试使用依赖hidapi 库的Python 库 hid。hid 似乎无法加载 hidapi,因为它在这里告诉我:

$ python
Python 3.10.1 (tags/v3.10.1:2cd268a, Dec  6 2021, 19:10:37) [MSC v.1929 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import hid
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "[...]\Python310\site-packages\hid\__init__.py", line 30, in <module>
    raise ImportError(error)
ImportError: Unable to load any of the following libraries:libhidapi-hidraw.so libhidapi-hidraw.so.0 libhidapi-libusb.so libhidapi-libusb.so.0 libhidapi-iohidmanager.so libhidapi-iohidmanager.so.0 libhidapi.dylib hidapi.dll libhidapi-0.dll

问题是我已经从 hidapi 的发布页面(Windows x64 版本)下载了其中一个库,但我把它放在哪里似乎并不重要,它不起作用。它在我的路径中:

$ echo $PATH
[...]:/c/Program Files/hidapi:[...]

$ ls -lh "/c/Program Files/hidapi"
total 3.0M
-rwxr-xr-x 1 [...] 197121  98K Jan 28 14:38 hidapi.dll*
-rw-r--r-- 1 [...] 197121 5.7K Jan 28 14:38 hidapi.lib
-rw-r--r-- 1 [...] 197121 2.9M Jan 28 14:38 hidapi.pdb

即使我将它放在运行 Python 的文件夹或 System32 中,同样的错误也会再次发生。这个帖子也没有用

编辑:我没有解决核心问题,但是尝试加载库的 ctypes 库并没有跳过它,因为它找不到它,而是因为它不是有效的 Win32 应用程序([WinError 193] %1 n’est pas une application Win32 valide是错误,在法语虽然)。也许是因为它没有注册,但我没有成功尝试注册它。

我找到了一个解决方法:在加载 hid 库之前手动加载 hidapi 库

import ctypes
ctypes.CDLL('[my path to the DLL]\\hidapi.dll')
import hid
4

0 回答 0