python pyusb import usb.core не работает - PullRequest
8 голосов
/ 02 июня 2011

Я следую инструкциям (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:\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)

Ответы [ 4 ]

12 голосов
/ 20 февраля 2012

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

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

https://github.com/walac/pyusb

3 голосов
/ 23 октября 2013

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

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

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

3 голосов
/ 02 июня 2011

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

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

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

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

2 голосов
/ 26 апреля 2014

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

import sys
print(sys.path)

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

...