Pyusb installé, toujours: 'ImportError: aucun module nommé core'


11

Sur mon Raspberry Pi, j'ai installé libusbet pyusbvia sudo apt-get install libusb-dev python-usb.

Mais exécuter du code Python ( pyrow , pour lire les données d'une machine à ramer) me donne cette erreur à import usb.core:

ImportError: aucun module nommé core

Cette erreur suggère que je ne l'ai pas installé pyusbcorrectement, je l'ai donc fait à nouveau manuellement (en le téléchargeant et en l'exécutant sudo python setup.py install), mais cela ne l'a pas corrigé.

Je pense que le problème pourrait avoir quelque chose à voir avec le répertoire /usr/local/lib/python2.7/dist-packages/usb: sur mon ordinateur portable Ubuntu, ce dossier existe et contient (entre autres) core.py, mais le dossier sur le Raspberry Pi semble inexistant. lsdans le répertoire parent répertorie le dossier, mais le montage ne fonctionne pas ...

Comment résoudre ce problème? Dois-je utiliser une version spécifique de pyusb sur le Raspberry Pi?

  • Matériel: Raspberry Pi modèle B
  • Système d' exploitation: Raspbian Wheezy (build 2013-02-09)

Réponses:


8

Veuillez suivre les étapes et voir si cela fonctionne.

$ sudo apt-get update
$ sudo apt-get install python-pip  #if you don't have pip installed already
$ sudo pip install pyusb

'sudo pip install pip' me donne "Exigence déjà satisfaite". La mise à niveau donne "Exigence déjà à jour". J'ai également essayé une installation manuelle de pyusb-1.0 comme Krzysztof Adamski l'a suggéré, mais le problème persiste. Pourrait-il fonctionner pour effectuer les étapes ci-dessus sur une nouvelle installation?
A. Goossens

ignorez l'étape sudo apt-get install python-pi. Tapez simplement sudo pip install pyusb qui devrait fonctionner pour vous.
SteveIrwin

Désolé, faute de frappe. Je voulais dire 'sudo pip install pyusb' donne "Exigence déjà satisfaite".
A. Goossens

1
@ A.Goossens: Vous devez probablement d'abord désinstaller que pyusbvous avez installé précédemment. Bien qu'il soit facile pour le package avec lequel vous avez installé apt-get, il peut être plus difficile pour le package installé manuellement.
Krzysztof Adamski

Parce que je ne me souvenais pas des versions de pyusb et libusb que j'avais déjà installées, j'ai fait une nouvelle installation de raspbian et utilisé les étapes de Stevelrwin. Ils ont travaillé! Maintenant, pyrow fonctionne comme un charme! Apparemment, libusb n'est même pas nécessaire ou est déjà installé par défaut. Merci pour votre aide!
A. Goossens

7

pyusb bibliothèque existe en deux versions:

  • stable (0.4.x)
  • en cours de développement (1.0.x)

La distribution Debian ne contient que la stableversion et c'est celle que vous avez installée à l'aide de la apt-getcommande.

Essaie maintenant pyrowd'importer usb.corequi n'existent que dans la 1.0.xversion de la bibliothèque. Et en effet, le pyrow'ssite Web indique qu'il a besoin de la version 1.0 de pyusb. C'est pourquoi vous rencontrez des problèmes.

Donc, pour l'utiliser, pyrowvous avez besoin de pyusb1.0.x qui n'est pas disponible dans Debian, vous ne pouvez donc pas l'installer en utilisant apt-get. La solution la plus simple à ce problème est ce que @Stevelrwin a suggéré - l'utilisation pip installinstallera la branche 1.0.x de pyusb. Vous voudrez peut-être utiliser virtualenvsi vous ne voulez pas polluer votre système avec certaines bibliothèques ne provenant pas des paquets Debian.


Merci, cela rend le problème beaucoup plus clair pour moi! Cependant, le problème existe toujours. Voir le commentaire sur Stevelrwin.
A. Goossens

3

Essayez ceci, cela a fonctionné pour moi sur un Raspberry PI 3b + pour Python 3.5.3

sudo apt-get install python-usb python3-usb

après avoir exécuté que l'importation de code usb.core a fonctionné

(Raspberry PI 3b + - Python 3.5.3 - 2019)


1

Eureka! J'ai résolu le problème sur Raspberry Pi sur lequel les deux versions Python 2.7 et 3.4.2 sont installées.

Étape 1: copiez les bibliothèques usb python de la version à la version 2.7 à la version 3.4.

Il y avait deux dossiers dans /usr/local/lib/python/2.7/dist-packages/

pyusb-1.0.0.egg-info et

USB

Ceux-ci ont été copiés dans /usr/local/lib/python/3.4/dist-packages/

Étape 2: utilisez easy_install pour identifier la version 3.4 de Python à l'outil d'installation Python appelé "pip" ligne de commande: sudo easy_install-3.4 pip

Étape 3: installer la bibliothèque pyusb dans la ligne de commande Python version 3.4: sudo pip3.4 install pyusb

Maintenant, la bibliothèque pyusb doit être installée dans Python version 3.4 au lieu (ou en plus) de la version par défaut, qui est la version 2.7


-1

J'ai le même problème.

J'ai infligé une amende à la cause, au moins sur ma machine:

Raspberry pi est livré avec deux installations de Python: 2.x et 3.x, mais le script d'installation de pyusb installe le logiciel sur la version 2.x par défaut.

Ainsi, lorsque nous essayons de l'utiliser dans la version 3.x, l'erreur: "ImportError: aucun module nommé core" augmente automatiquement.

Je n'ai pas de solution pour l'instant mais je pense que cela ne devrait pas être trop compliqué à trouver.


Avez-vous lu les autres réponses, ce n'est pas la réponse.
Steve Robillard
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.