Estoy siguiendo el tutorial (http://pyusb.sourceforge.net/docs/1.0/tutorial.html)

Estoy en Windows XP SP3, mi versión de Python es 2.7 y descargué e instalé Pyusb-1.0.0-a1.zip

Y libusb-win32-bin-1.2.4.0.zip

import usb

Funciona bien

Pero

import usb.core

No funciona en absoluto

Dice

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

¿alguna solución?

¡Gracias!

PD. "desde el núcleo de importación usb" esta marca

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

El código fuente completo está aquí

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)
9
kim taeyun 2 jun. 2011 a las 14:32

4 respuestas

La mejor respuesta

En ambos casos el error es:

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

Lo que significa que tiene el archivo usb.py en PATH antes (probablemente en . que es D:\py\ en este caso) que la ruta a los módulos de Python.

¿Instalaste este módulo correctamente? Intente cambiar el nombre de este archivo usb.py a otro, verá si el error se convierte en "ImportError: ningún módulo llamado usb". Compruebe también la ruta de instalación de Python (algo así como C:\Python27\) para la carpeta usb, es decir, <python_path>\lib\site-packages\usb\core.py.

3
Xaerxess 2 jun. 2011 a las 10:40

Supongo que "D: \ py \ usb.py" es el nombre de su programa de prueba py.

Desafortunadamente, esto confunde al compilador py debido al hecho de que usb también es el nombre del módulo.

Cámbielo en usbtest.py y todo funciona

3
Roberto 23 oct. 2013 a las 12:19

Su pregunta dice que está usando 1.0, pero tuve los mismos síntomas que usted, así que lo pondré aquí para futuros usuarios de motores de búsqueda.

Si puede import usb pero no import usb.core puede estar ejecutando python-usb 0.x en lugar de 1.0.

https://github.com/walac/pyusb

12
ryanbraganza 16 jun. 2012 a las 09:37

Para comprender dónde Python busca importar su módulo , puede ejecutar el siguiente código:

import sys
print(sys.path)

Esto le mostrará una lista de los nombres de directorio que Python busca para su módulo para importar :)

2
Mehdi Maghrooni 26 abr. 2014 a las 12:21