2011-06-02 216 views
8

我的教程(http://pyusb.sourceforge.net/docs/1.0/tutorial.html)蟒蛇pyusb进口usb.core不起作用

我在Windows XP SP3, 下面我Python版本是2.7,我下载并安装了pyusb-1.0.0-a1.zip

和libusb-win32-bin-1.2.4.0.zip

import usb 

工作正常

import usb.core 

完全不

工作,它说

Traceback (most recent call last): 
    File "D:\py\usb.py", line 1, in <module> 
    from usb import core 
    File "D:\py\usb.py", line 1, in <module> 
    from usb import core 
ImportError: cannot import name core 

任何解决方案?

谢谢!

p.s. “从USB进口芯” 这使

Traceback (most recent call last): 
    File "D:\py\usb.py", line 1, in <module> 
    from usb import core 
    File "D:\py\usb.py", line 1, in <module> 
    from usb import core 
ImportError: cannot import name core 

完整的源代码是在这里

from usb import core 
#find device 
dev = usb.core.find(idVendor=0x1516, idProduct=0x8628) 
#found? 
if dev is None : 
     raise ValueError('device not found') 

#set the active config. with no args, the first config will be the active one 

dev.set_configuration() 

#get an end point instance 
ep = usb.util.find_descriptor(
    dev.get_interface_altsetting(), #first interface 
    #match the first Out Endpoint 
    custom_match = \ 
     lambda e: \ 
      usb.util.endpoint_direction(e.bEndpointAddress) == \ 
      usb.util.ENDPOINT_OUT) 
assert ep is not None 

while(1): 
    ep.write(0x5553424350DDBC880000000000000600000000000000000000000000000000) 
    ep.write(0x5553425350ddbc880000000000) 

回答

3

在这两种情况下,错误是:

Traceback (most recent call last): 
    File "D:\py\usb.py", line 1, in <module> 

,这意味着它在PATH文件usb.py较早(可能在.这是D:\py\在这种情况下)比python m odules。

您是否正确安装了该模块?尝试将此usb.py文件重命名为其他内容,您将看到错误是否为“ImportError:No module named usb”。还要检查usb文件夹的Python安装路径(如C:\Python27\),即<python_path>\lib\site-packages\usb\core.py

+0

我将目录更改为桌面,名称为usb2.py它表示Traceback(最近调用最后一次): 文件“C:/ Documents and Settings/kty1104/Desktop/usb2.py”,第3行,在 dev = usb.core.find(idVendor = 0x1516,idProduct = 0x8628) NameError:名称'usb'未定义 – 2011-06-02 10:45:24

+0

感谢它正常工作现在是正常的,“导入usb”不起作用,但“导入usb .core“的作品? – 2011-06-02 10:47:59

+0

尝试打开交互式Python shell(或者甚至更好的安装和使用[IPython](http://ipython.scipy.org))并且执行:'import usb',next'help(usb)'(或'usb?'in IPython),找到'FILE'行并检查usb模块是否在给定的路径(至少__init__.py文件和'core.py'文件是一个名为'usb *'的目录)。 – Xaerxess 2011-06-02 11:17:06

12

你的问题说你正在使用1.0,但我的症状和你一样,所以我会把它放在这里以供将来的搜索引擎用户使用。

如果你可以import usb而不是import usb.core你可能会运行python-usb 0.x而不是1.0。

https://github.com/walac/pyusb

3

我想, “d:\ PY \ usb.py” 是您的PY测试程序的名称。

不幸的是,这使得py编译器感到困惑,因为usb也是模块的名称。

在usbtest中更改它。PY,一切工作

+0

我要回答这个,谢谢你提到它 – 2014-04-24 18:20:23

2

理解其中蟒蛇看起来导入模块,您可以运行下面的代码:

import sys 
print(sys.path) 

这将显示你的目录名称列表,对于你的模块蟒蛇搜索导入:)