Eu instalei o Python3.6 conforme descrito aqui :
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6
Então instalei o numpy da seguinte forma:
sudo apt-get install python3-numpy
Acho que posso importar numpy do Python3.5, mas não do Python3.6
Python 3.6.5 (default, Mar 29 2018, 03:28:50)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3/dist-packages/numpy/__init__.py", line 180, in <module>
from . import add_newdocs
File "/usr/lib/python3/dist-packages/numpy/add_newdocs.py", line 13, in <module>
from numpy.lib import add_newdoc
File "/usr/lib/python3/dist-packages/numpy/lib/__init__.py", line 8, in <module>
from .type_check import *
File "/usr/lib/python3/dist-packages/numpy/lib/type_check.py", line 11, in <module>
import numpy.core.numeric as _nx
File "/usr/lib/python3/dist-packages/numpy/core/__init__.py", line 14, in <module>
from . import multiarray
ImportError: cannot import name 'multiarray'
Como consertar este problema?
Você provavelmente
numpy
instalou apenas para o seu python3.5.Em vez de instalar
numpy
por meio dos repositórios do Ubuntu, você pode tentar instalar e usar arquivospip
.Este é o gerenciador de pacotes do python. Você pode usá-lo para instalar várias bibliotecas python como
numpy
.Em seguida, use-o para instalar
numpy
em seu python3.6.Instalando
pip
:Instale
pip
com o seguinte comando:Observação: você pode receber um
Permission denied
erro. Nesse caso, basta prefixar seu comando com,sudo
por exemplo:Em seguida, digite seu terminal
pip3.6
para verificar se você o instalou corretamente. Ele deve listar todos os parâmetros disponíveis.Geralmente, existem duas opções a partir daqui.
Opção 1 - instalar
numpy
globalmenteInstale
numpy
especificamente para python3.6:Nota: Novamente, se você receber um erro de permissão, prefixe seu comando com
sudo
:A saída:
Nota: A desvantagem deste método é que você
numpy
instalou globalmente, o que pode resultar em efeitos indesejáveis em algum momento no futuro, como problemas com versões diferentes.Opção 2 - usar um ambiente virtual:
Este método permite criar um ambiente Python isolado, um sandbox se preferir, onde você pode instalar pacotes python, sem se preocupar tanto com dependências, versões e permissões.
Primeiro, você precisa instalar o módulo, necessário para criar ambientes virtuais:
Novamente, verifique se a instalação foi bem-sucedida:
Deve imprimir a versão sem nenhuma mensagem de erro.
Agora crie um ambiente virtual para python3.6 (FYI - existem várias maneiras de conseguir isso):
por exemplo
Navegue até esse diretório. Deve haver vários diretórios dentro dele. Estamos procurando o
bin
diretório.Agora você precisa ativar esse ambiente virtual:
O nome do ambiente virtual deve aparecer no lado esquerdo do seu terminal, por exemplo:
Indica que o ambiente virtual está ativo no momento.
Ok, agora você precisa instalar
numpy
:Resultado:
Agora inicie seu shell Python e tente importá-lo:
Não deve haver erros.
Agora você pode continuar com seu trabalho.
Quando terminar, você pode desativar o ambiente virtual. Basta digitar:
O indicador no lado esquerdo deve ter desaparecido.
Se algo der errado com seu ambiente virtual, basta excluir o diretório que o contém e começar de novo.
Nota: A desvantagem de usar ambientes virtuais é que você sempre precisa ativá-los e desativá-los, mas reduz drasticamente a possibilidade de bagunçar suas bibliotecas e configurações instaladas globalmente.
Eu tive exatamente o mesmo problema. Eu tenho python3.6 e python3.7 instalados no meu sistema Ubuntu. Eu tinha numpy instalado usando pip3. Recebi o mesmo erro quando tentei importar numpy em python3.7.
Observei que a seguir está a linha número 1 em /user/bin/pip3 é
#!/usr/bin/python3
e meu python3 estava apontando para /usr/bin/python3.6
A seguir funcionou para mim:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/<python version> 1
Isso fará com que o pip3 funcione para a versão desejada do python3
sudo pip3 uninstall numpy
sudo pip3 install numpy
Isso funcionou!
Eu tive o mesmo problema, consertei esse erro atualizando o
numpy
pacote da seguinte maneira:sudo pip install -U numpy
[ NOTA ]:
Se depois disso você encontrou este erro:
UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
Faça o seguinte comando: