Na moim Raspberry Pi zainstalowałem libusb
i pyusb
przez sudo apt-get install libusb-dev python-usb
.
Ale uruchomienie jakiegoś kodu w Pythonie ( pyrow , aby odczytać dane z maszyny do wiosłowania) daje mi ten błąd na import usb.core
:
ImportError: brak modułu o nazwie core
Ten błąd sugeruje, że nie zainstalowałem się pyusb
poprawnie, więc zrobiłem to ponownie ręcznie (pobieranie i uruchamianie sudo python setup.py install
), ale to nie naprawiło.
Myślę, że problem może mieć coś wspólnego z katalogiem /usr/local/lib/python2.7/dist-packages/usb
: na moim laptopie z Ubuntu ten folder istnieje i zawiera (między innymi) core.py
, ale folder na Raspberry Pi wydaje się nie istnieć. ls
w katalogu nadrzędnym wyświetla folder, ale podłączenie do niego nie działa ...
Jak rozwiązać ten problem? Czy muszę używać konkretnej wersji pyusb na Raspberry Pi?
- Sprzęt: Raspberry Pi model B
- System operacyjny: Raspbian Wheezy (build 2013-02-09)
pyusb
wcześniej zainstalowany. Chociaż pakiet, który zainstalowałeśapt-get
, jest łatwy , może być trudniejszy w przypadku pakietu zainstalowanego ręcznie.pyusb
biblioteka występuje w dwóch wersjach:Dystrybucja Debiana zawiera tylko
stable
wersję, a ta jest zainstalowana za pomocąapt-get
komendy.Teraz
pyrow
próbuje zaimportować,usb.core
które istnieją tylko w1.0.x
wersji biblioteki. I rzeczywiście,pyrow's
strona internetowa stwierdza, że potrzebuje wersji pyusb w wersji 1.0. Właśnie dlatego masz problemy.Aby więc użyć
pyrow
, potrzebujesz wersjipyusb
1.0.x, która nie jest dostępna w Debianie, więc nie możesz zainstalować jej za pomocą apt-get. Najłatwiejszym rozwiązaniem tego problemu jest sugestia @Stevelrwin - użyciepip install
spowoduje zainstalowanie gałęzi pyusb 1.0.x. Możesz użyć,virtualenv
jeśli nie chcesz zanieczyszczać systemu niektórymi bibliotekami nie pochodzącymi z pakietów Debiana.źródło
Spróbuj, to zadziałało dla mnie na Raspberry PI 3b + dla Python 3.5.3
po uruchomieniu kod importu usb.core zadziałał
(Raspberry PI 3b + - Python 3.5.3 - 2019)
źródło
Eureka! Rozwiązałem problem na Raspberry Pi, który ma zainstalowane zarówno wersje Python 2.7, jak i 3.4.2.
Krok 1: Skopiuj biblioteki usb Pythona z wersji do 2.7 do wersji 3.4.
W katalogu /usr/local/lib/python/2.7/dist-packages/ znajdowały się dwa foldery
pyusb-1.0.0.egg-info, i
USB
Zostały one skopiowane do /usr/local/lib/python/3.4/dist-packages/
Krok 2: Użyj easy_install, aby zidentyfikować Python w wersji 3.4 do narzędzia instalacyjnego Python o nazwie wiersza polecenia „pip”: sudo easy_install-3.4 pip
Krok 3: Zainstaluj bibliotekę pyusb w wierszu poleceń Pythona w wersji 3.4: sudo pip3.4 zainstaluj pyusb
Teraz biblioteka pyusb powinna być zainstalowana w Pythonie w wersji 3.4 zamiast (lub oprócz) wersji domyślnej, czyli w wersji 2.7
źródło
Mam ten sam problem.
Skazałem grzywnę na przyczynę, przynajmniej na moim komputerze:
Raspberry pi zawiera dwie instalacje Pythona: 2.xi 3.x, ale skrypt instalacyjny pyusb domyślnie instaluje oprogramowanie w wersji 2.x.
Kiedy więc próbujemy użyć go w wersji 3.x, automatycznie pojawia się błąd: „ImportError: brak modułu o nazwie core”.
Na razie nie mam rozwiązania, ale myślę, że znalezienie tego nie powinno być skomplikowane.
źródło