1

我正在尝试安装 cython-hidapi 以在我的 Ubuntu 12.04 上读取 USB。我已按照https://github.com/gbishop/cython-hidapi的说明安装了以下版本:

  • lib-usb == 1.0.9
  • hidapi == 0.7.0
  • 赛通 == 0.16
  • 蟒蛇== 2.7
  • cython-hidapi == 最新结帐

当我从安装中执行测试部分(python > import hid)时,我收到以下错误:

Python 2.7.3 (default, Aug  1 2012, 05:14:39) 
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import hid
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: /usr/local/lib/python2.7/dist-packages/hid.so: undefined symbol: libusb_open

有谁知道我为什么会收到此错误以及如何检查/处理它?

谢谢!伍特

4

1 回答 1

2

在过去的一周里,我一直在努力解决这个完全相同的问题。幸运的是,我的一位非常了解 Cython 世界的朋友能够提供帮助。您需要更改 setup.py 中的 setup(...) 函数,如下所示:

setup(
    cmdclass = {'build_ext': build_ext},
    ext_modules = [Extension("hid", ["hid.pyx", "hid-libusb.c"],
                  libraries=["usb-1.0", "udev", "rt"])]
)

我不知道其他发行版是否会有细微的差异,但这已经在 Ubuntu 12.04 和 Debian 0.1.12 上进行了测试。使用回复原始帖子的建议来确定正确的链接器标志 (LDFLAGS) 和libraries=行。

拉取请求已提交给维护者。你也可以从我的叉子上找零钱。

于 2012-09-26T06:37:08.103 回答