Pyusb instalado, ainda: 'ImportError: nenhum módulo chamado core'

11

No meu Raspberry Pi eu instalei libusbe pyusbvia sudo apt-get install libusb-dev python-usb.

Mas rodar algum código Python ( pyrow , para ler dados de uma máquina de remo) me dá esse erro em import usb.core:

ImportError: nenhum módulo chamado core

Esse erro sugere que eu não instalei pyusbcorretamente, então o fiz novamente manualmente (baixando e executando sudo python setup.py install), mas isso não foi corrigido.

Eu acho que o problema pode ter algo a ver com o diretório /usr/local/lib/python2.7/dist-packages/usb: no meu laptop Ubuntu, essa pasta existe e contém (entre outros) core.py, mas a pasta no Raspberry Pi parece inexistente. lsno diretório pai lista a pasta, mas a montagem não funciona ...

Como corrijo esse problema? Preciso usar uma versão específica do pyusb no Raspberry Pi?

  • Hardware: Raspberry Pi modelo B
  • SO: Raspbian Wheezy (compilação 2013-02-09)
A. Goossens
fonte

Respostas:

8

Por favor, siga os passos e veja se funciona.

$ sudo apt-get update
$ sudo apt-get install python-pip  #if you don't have pip installed already
$ sudo pip install pyusb
SteveIrwin
fonte
'sudo pip install pip' me fornece "Requisitos já satisfeitos". A atualização fornece "Requisito já atualizado". Também tentei uma instalação manual do pyusb-1.0, como sugeriu Krzysztof Adamski, mas o problema ainda existe. Poderia funcionar para executar as etapas acima em uma nova instalação?
A.Gossoss
pule a etapa sudo apt-get install python-pi. Basta digitar sudo pip install pyusb, que deve funcionar para você.
Steve Irwin
Desculpe, digitado errado. Eu quis dizer 'sudo pip install pyusb' fornece "Requisito já satisfeito".
A.Gossoss
11
@ A.Goossens: Você provavelmente deve primeiro desinstalar pyusba instalação anterior. Embora seja fácil para o pacote com o qual você instalou apt-get, pode ser mais difícil para o pacote instalado manualmente.
precisa saber é o seguinte
Porque eu não conseguia lembrar quais versões do pyusb e libusb eu já instalei, fiz uma nova instalação do raspbian e usei as etapas do Stevelrwin. Eles trabalharam! Agora pyrow funciona como um encanto! Aparentemente, o libusb nem é necessário ou já está instalado por padrão. Obrigado por me ajudar!
A. Goossens
7

pyusb biblioteca vem em duas versões:

  • estável (0.4.x)
  • em desenvolvimento (1.0.x)

A distribuição Debian contém apenas a stableversão e esta é a que você instalou usando o apt-getcomando.

Agora pyrowestá tentando importar os usb.coreque existem apenas na 1.0.xversão da biblioteca. E, de fato, o pyrow'ssite afirma que precisa da versão 1.0 do pyusb. É por isso que você está tendo problemas.

Portanto, para usar pyrowvocê precisa do pyusb1.0.x, que não está disponível no Debian, portanto você não pode instalá-lo usando o apt-get. A solução mais fácil para esse problema é o que o @Stevelrwin sugeriu - usando pip installo instalará o ramo 1.0.x do pyusb. Você pode usar virtualenvse não quiser poluir seu sistema com algumas bibliotecas que não são provenientes de pacotes Debian.

Krzysztof Adamski
fonte
Obrigado, isso torna o problema muito mais claro para mim! No entanto, o problema ainda existe. Veja o comentário em Stevelrwin.
A.Gossoss
3

Tente isso, isso funcionou para o meu em um Raspberry PI 3b + para Python 3.5.3

sudo apt-get install python-usb python3-usb

depois de executar o código import usb.core funcionou

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

Eamon
fonte
1

Eureka! Eu resolvi o problema no Raspberry Pi, que possui as versões 2.7 e 3.4.2 do Python instaladas.

Etapa 1: Copie as bibliotecas usb python da versão para 2.7 para a versão 3.4.

Havia duas pastas em /usr/local/lib/python/2.7/dist-packages/

pyusb-1.0.0.egg-info e

USB

Esses foram copiados para /usr/local/lib/python/3.4/dist-packages/

Etapa 2: Use easy_install para identificar a ferramenta de instalação do Python versão 3.4 para Python chamada linha de comando "pip": sudo easy_install-3.4 pip

Etapa 3: Instale a biblioteca pyusb na linha de comando do Python versão 3.4: sudo pip3.4 install pyusb

Agora a biblioteca pyusb deve ser instalada no Python versão 3.4 em vez de (ou além da) a versão padrão, que é a versão 2.7

Steve
fonte
-1

Eu tenho o mesmo problema.

Eu multuei a causa, pelo menos na minha máquina:

O Raspberry pi vem com duas instalações do Python: 2.xe 3.x, mas o script de instalação do pyusb instala o software na versão 2.x por padrão.

Portanto, quando tentamos usá-lo na versão 3.x, o erro: "ImportError: no module named core" aumenta automaticamente.

Por enquanto não tenho uma solução, mas acho que não deve ser tão complicado de encontrar.

user3456062
fonte
Você já leu as outras respostas, essa não é a resposta.
precisa