На мой Raspberry Pi я установил libusb
и pyusb
через sudo apt-get install libusb-dev python-usb
.
Но выполнение некоторого кода Python ( pyrow , для чтения данных с гребного тренажера) дает мне эту ошибку по адресу import usb.core
:
ImportError: нет модуля с именем core
Эта ошибка говорит о том, что я не установил pyusb
должным образом, поэтому я сделал это снова вручную (загрузка и запуск sudo python setup.py install
), но это не помогло.
Я думаю, что проблема может иметь какое-то отношение к каталогу /usr/local/lib/python2.7/dist-packages/usb
: на моем ноутбуке Ubuntu эта папка существует и содержит (среди прочих) core.py
, но папка на Raspberry Pi, кажется, не существует. ls
в каталоге parent-directory есть папка, но монтирование к ней не работает ...
Как мне исправить эту проблему? Должен ли я использовать определенную версию pyusb на Raspberry Pi?
- Оборудование: Raspberry Pi модель B
- OS: Raspbian свистящие (сборка 2013-02-09)
pyusb
ранее установленную версию . Хотя пакет, с которым вы установилиapt-get
, легко , он может быть сложнее для установленного вручную.pyusb
Библиотека поставляется в двух версиях:Дистрибутив Debian содержит только
stable
версию, и это та, которую вы установили с помощьюapt-get
команды.Сейчас
pyrow
пытается импортироватьusb.core
только существующие1.0.x
версии библиотеки. И действительно,pyrow's
сайт утверждает, что ему нужна версия pyusb 1.0. Вот почему у вас проблемы.Поэтому для использования
pyrow
вам нуженpyusb
1.0.x, который недоступен в Debian, поэтому вы не можете установить его с помощью apt-get. Самое простое решение этой проблемы - то, что @Stevelrwin предлагает - использованиеpip install
установит ветку 1.0.x в pyusb. Возможно, вы захотите использовать,virtualenv
если не хотите загрязнять вашу систему некоторыми библиотеками, не входящими в пакеты Debian.источник
Попробуйте это, это работает для меня на Raspberry PI 3b + для Python 3.5.3
после запуска работал импорт кода usb.core
(Raspberry PI 3b + - Python 3.5.3 - 2019)
источник
Эврика! Я решил проблему на Raspberry Pi, на котором установлены обе версии Python 2.7 и 3.4.2.
Шаг 1: Скопируйте usb-библиотеки python из версии 2.7 в версию 3.4.
В /usr/local/lib/python/2.7/dist-packages/ было две папки
pyusb-1.0.0.egg-info и
USB
Они были скопированы в /usr/local/lib/python/3.4/dist-packages/
Шаг 2: Используйте easy_install, чтобы идентифицировать Python версии 3.4 и Python для установки инструмента, называемого командной строкой «pip»: sudo easy_install-3.4 pip
Шаг 3: Установите библиотеку pyusb в командную строку Python версии 3.4: sudo pip3.4 install pyusb
Теперь библиотеку pyusb следует установить в Python версии 3.4 вместо (или в дополнение к) версии по умолчанию, то есть версии 2.7.
источник
У меня такая же проблема.
Я оштрафовал причину, по крайней мере, на моей машине:
Raspberry pi поставляется с двумя установками Python: 2.x и 3.x, но сценарий установки pyusb по умолчанию устанавливает программное обеспечение на версию 2.x.
Поэтому, когда мы пытаемся использовать его в версии 3.x, автоматически возникает ошибка: «ImportError: нет модуля с именем core».
У меня пока нет решения, но я думаю, что его не должно быть сложно найти.
источник