pylibftdi不工作python3,在python2.7上运行正常

时间:2017-02-10 02:23:42

标签: python-3.4 libusb ftdi

你好@codedstructure,

我能够导入pylibftdi模块并使用python(2.7)列出我的FTDI设备,并使用pip3安装了pylibftdi,但是运行list_devices示例却没有输出任何内容:

pi@raspberrypi:~ $ python -m pylibftdi.examples.list_devices
FTDI:FT230X Basic UART:DA00TWHT
FTDI:FT230X Basic UART:DA00TWHN
FTDI:FT230X Basic UART:DA00TN7R
pi@raspberrypi:~ $ python3 -m pylibftdi.examples.list_devices
pi@raspberrypi:~ $ 

运行python 3.4,我可以显示已安装libftdi:

Python 3.4.2 (default, Oct 19 2014, 13:31:11) 
[GCC 4.9.1] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from pylibftdi import Driver; print(Driver().libftdi_version())
libftdi_version(major=1, minor=0, micro=0, version_str=b'1.0', snapshot_str=b'v1.0')

我还能检查一些其他内容吗?

1 个答案:

答案 0 :(得分:1)

找到解决方案:

需要修改python 3 dist-packages文件夹中的driver.py文件以识别FTDI设备(来自Atlas Scientific)。

具体来说,pylibftdi需要进行一些调整才能看到USB PID(0x6015)

sudo nano /usr/local/lib/python3.4/dist-packages/pylibftdi/driver.py

向下移动到第70行并在行尾添加0x6015。

修改后的行:

USB_PID_LIST = [0x6001, 0x6010, 0x6011, 0x6014, 0x6015]

这是为了在python 2.7上安装pylibftdi,但在为python 3.x安装pylibftdi时忽略了。

问题解决了!!