Diinstal pyusb, masih: 'ImportError: no module named core'

11

Pada Raspberry Pi saya, saya menginstal libusbdan pyusbmelalui sudo apt-get install libusb-dev python-usb.

Tetapi menjalankan beberapa kode Python ( pyrow , untuk membaca data dari mesin dayung) memberi saya kesalahan ini di import usb.core:

ImportError: tidak ada modul bernama core

Kesalahan ini menunjukkan bahwa saya tidak menginstal pyusbdengan benar, jadi saya melakukannya lagi secara manual (mengunduhnya dan menjalankannya sudo python setup.py install), tetapi ini tidak memperbaikinya.

Saya pikir masalahnya mungkin ada hubungannya dengan direktori /usr/local/lib/python2.7/dist-packages/usb: pada laptop Ubuntu saya folder ini ada dan berisi (antara lain) core.py, tetapi folder pada Raspberry Pi tampaknya tidak ada. lsdalam direktori induk daftar folder, tetapi pemasangan ke folder itu tidak berfungsi ...

Bagaimana saya memperbaiki masalah ini? Apakah saya harus menggunakan versi pyusb khusus pada Raspberry Pi?

  • Perangkat keras: Raspberry Pi model B
  • OS: Raspbian Wheezy (build 2013-02-09)
A. Goossens
sumber

Jawaban:

8

Ikuti langkah-langkahnya dan lihat apakah itu berhasil.

$ sudo apt-get update
$ sudo apt-get install python-pip  #if you don't have pip installed already
$ sudo pip install pyusb
SteveIrwin
sumber
'sudo pip install pip' memberi saya "Persyaratan sudah puas". Memutakhirkannya memberi "Persyaratan sudah terkini". Saya juga mencoba instalasi manual pyusb-1.0 seperti yang disarankan Krzysztof Adamski, tetapi masalahnya masih ada. Bisakah ini berhasil melakukan langkah-langkah di atas pada instalasi baru?
A. Goossens
lewati langkah sudo apt-get install python-pi. Cukup ketik sudo pip instal pyusb yang seharusnya cocok untuk Anda.
SteveIrwin
Maaf, salah ketik. Maksud saya 'sudo pip install pyusb' memberi "Persyaratan sudah puas".
A. Goossens
1
@ A. Goossens: Anda mungkin harus terlebih dulu menghapus instalan pyusbyang telah Anda instal sebelumnya. Meskipun mudah untuk paket yang Anda instal apt-get, mungkin lebih sulit untuk paket yang diinstal secara manual.
Krzysztof Adamski
Karena saya tidak dapat mengingat versi pyusb dan libusb yang sudah saya instal, saya membuat instalasi raspbian yang baru dan menggunakan langkah-langkah dari Stevelrwin. Mereka bekerja! Sekarang pyrow bekerja seperti pesona! Rupanya libusb bahkan tidak diperlukan atau sudah diinstal secara default. Terima kasih telah membantu saya!
A. Goossens
7

pyusb perpustakaan hadir dalam dua versi:

  • stabil (0,4.x)
  • dalam pengembangan (1.0.x)

Distribusi Debian hanya berisi stableversi dan ini adalah yang Anda instal menggunakan apt-getperintah.

Sekarang pyrowsedang mencoba mengimpor usb.coreyang hanya ada di 1.0.xversi perpustakaan. Dan memang, pyrow'ssitus web menyatakan bahwa itu membutuhkan versi 1.0 dari pyusb. Inilah sebabnya mengapa Anda mengalami masalah.

Jadi untuk menggunakan pyrowAnda perlu pyusb1.0.x yang tidak tersedia di Debian sehingga Anda tidak dapat menginstalnya menggunakan apt-get. Solusi termudah untuk masalah ini adalah apa yang disarankan @Stevelrwin - menggunakan pip installakan menginstal cabang 1.0.x dari pyusb. Anda mungkin ingin menggunakan virtualenvjika Anda tidak ingin mencemari sistem Anda dengan beberapa perpustakaan yang tidak berasal dari paket Debian.

Krzysztof Adamski
sumber
Terima kasih, itu membuat masalah lebih jelas bagi saya! Namun, masalahnya masih ada. Lihat komentar di Stevelrwin.
A. Goossens
3

Coba ini, ini bekerja untuk saya pada Raspberry PI 3b + untuk Python 3.5.3

sudo apt-get install python-usb python3-usb

setelah menjalankan itu kode import usb.core berhasil

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

Eamon
sumber
1

Eureka! Saya telah memecahkan masalah pada Raspberry Pi yang memiliki versi Python 2.7 dan 3.4.2 diinstal.

Langkah 1: Salin perpustakaan usb python dari versi ke 2.7 ke versi 3.4.

Ada dua folder di /usr/local/lib/python/2.7/dist-packages/

pyusb-1.0.0.egg-info, dan

usb

Itu disalin ke /usr/local/lib/python/3.4/dist-packages/

Langkah 2: Gunakan easy_install untuk mengidentifikasi Python versi 3.4 ke alat instalasi Python yang disebut "pip" command line: sudo easy_install-3.4 pip

Langkah 3: Instal pustaka pyusb ke dalam Python versi 3.4 baris perintah: sudo pip3.4 instal pyusb

Sekarang pustaka pyusb harus diinstal dalam Python Versi 3.4 daripada (atau sebagai tambahan) versi default, yaitu versi 2.7

Steve
sumber
-1

Saya memiliki masalah yang sama.

Saya mendenda penyebabnya, setidaknya pada mesin saya:

Raspberry pi hadir dengan dua instalasi Python: 2.x dan 3.x, tetapi skrip instalasi pyusb menginstal perangkat lunak pada versi 2.x secara default.

Jadi ketika kita mencoba menggunakannya dalam versi 3.x kesalahan: "ImportError: no module named core" otomatis naik.

Saya tidak punya solusi untuk saat ini, tetapi saya pikir itu tidak terlalu sulit untuk ditemukan.

pengguna3456062
sumber
Sudahkah Anda membaca jawaban lain ini bukan jawabannya.
Steve Robillard