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)

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

'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.


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)


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


-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.


Você já leu as outras respostas, essa não é a resposta.
precisa
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.