python pyusb импорт usb.ядро не работает

Я следую учебнику(http://pyusb.sourceforge.net/docs/1.0/tutorial.html)

Я на 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:pyusb.py", line 1, in <module>
    from usb import core
  File "D:pyusb.py", line 1, in <module>
    from usb import core
ImportError: cannot import name core

любое решение?

спасибо!

п.С. "от USB импорт основных" это делают

Traceback (most recent call last):
  File "D:pyusb.py", line 1, in <module>
    from usb import core
  File "D:pyusb.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)

4 ответов


в обоих случаях ошибка:

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

что означает, что файл usb.py на PATH ранее (вероятно, в . что это D:\py\ в этом случае), чем путь к модулям python.

вы правильно установили этот модуль? Попробуйте переименовать это usb.py файл к чему-то еще, вы увидите, если ошибка станет "ImportError: нет модуля с именем usb". Также проверьте путь установки Python (что-то вроде C:\Python27\) для папки usb т. е. <python_path>\lib\site-packages\usb\core.py.


ваш вопрос говорит, что вы используете 1.0, но у меня были те же симптомы, что и у вас, поэтому я помещу это здесь для будущих пользователей поисковой системы.

Если вы можете import usb а не import usb.core возможно, вы используете python-usb 0.x вместо 1.0.

https://github.com/walac/pyusb


Я полагаю, что "D:\py\usb.py-так называется ваша тестовая программа.

к сожалению, это вносит путаницу в компилятор py из-за того, что usb также является именем модуля.

изменить его в usbtest.py и все работает


на понимание где python смотрит на импортировать модуль, вы можете запустить следующий код :

import sys
print(sys.path)

это покажет вам список имен каталогов, которые python ищет для вашего модуля для импорта :)