
Instalé Python3.6 como se describeaquí:
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6
Luego instalé numpy de la siguiente manera:
sudo apt-get install python3-numpy
Supongo que puedo importar numpy desde Python3.5 pero no desde 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'
¿Cómo arreglar este problema?
Respuesta1
Probablemente lo hayas numpy
instalado solo para tu python3.5.
En lugar de instalar numpy
a través de los repositorios de Ubuntu, puedes intentar instalar y usar pip
.
Este es el administrador de paquetes de Python. Puedes usarlo para instalar varias bibliotecas de Python como numpy
.
Luego úselo para instalarlo numpy
en su python3.6.
Instalación pip
:
Instalar pip
con el siguiente comando:
apt install python-pip
Nota:Es posible que reciba un Permission denied
error. En este caso, simplemente anteponga su comando con, sudo
por ejemplo:
sudo apt install python-pip
Luego escribe tu terminal pip3.6
para comprobar si lo tienes instalado correctamente. Debería enumerar todos sus parámetros disponibles.
Generalmente hay dos opciones a partir de aquí.
Opción 1: instalar numpy
globalmente
Instale numpy
específicamente para python3.6:
pip3.6 install numpy
Nota:Nuevamente, si recibe un error de permiso, anteponga su comando con sudo
:
sudo pip3.6 install numpy
La salida:
Collecting numpy
Downloading https://files.pythonhosted.org/packages/71/90/ca61e203e0080a8cef7ac21eca199829fa8d997f7c4da3e985b49d0a107d/numpy-1.14.3-cp36-cp36m-manylinux1_x86_64.whl (12.2MB)
100% |################################| 12.2MB 1.9MB/s
Installing collected packages: numpy
Successfully installed numpy-1.14.3
Nota:El inconveniente de este método es que se ha numpy
instalado globalmente, lo que puede provocar efectos no deseados en algún momento en el futuro, como problemas con diferentes versiones.
Opción 2: utilizar un entorno virtual:
Este método le permite crear un entorno Python aislado, una zona de pruebas si lo desea, donde puede instalar paquetes de Python, sin preocuparse tanto por las dependencias, versiones y permisos.
Primero, necesita instalar el módulo necesario para crear entornos virtuales:
sudo pip3.6 install virtualenv
Nuevamente, verifique si la instalación fue exitosa:
virtualenv --version
Debería imprimir la versión sin ningún mensaje de error.
Ahora cree un entorno virtual para python3.6 (para su información, hay varias formas de lograrlo):
virtualenv /directory/to/place/the/virtual/environment
p.ej
virtualenv ~/Documents/numpy
Navegue hasta ese directorio. Debería haber varios directorios dentro de él. Estamos buscando el bin
directorio.
Ahora necesitas activar ese entorno virtual:
source bin/activate
El nombre del entorno virtual debería aparecer en el lado izquierdo de su terminal, por ejemplo:
(numpy) user@hostname:numpy$
Indica que el entorno virtual está actualmente activo.
Ok, ahora necesitas instalar numpy
:
pip3.6 install numpy
Producción:
Collecting numpy
Using cached https://files.pythonhosted.org/packages/71/90/ca61e203e0080a8cef7ac21eca199829fa8d997f7c4da3e985b49d0a107d/numpy-1.14.3-cp36-cp36m-manylinux1_x86_64.whl
Installing collected packages: numpy
Successfully installed numpy-1.14.3
Ahora inicia tu shell de Python e intenta importarlo:
>>> import numpy
>>>
No debería haber errores.
Ahora puedes continuar con tu trabajo.
Cuando hayas terminado podrás desactivar el entorno virtual. Sólo tipo:
deactivate
El indicador del lado izquierdo debería haber desaparecido.
Si algo sale mal con su entorno virtual, simplemente elimine el directorio que lo contiene y comience de nuevo.
Nota:El inconveniente de utilizar entornos virtuales es que siempre es necesario activarlos y desactivarlos, pero reduce drásticamente el cambio de estropear las bibliotecas y configuraciones instaladas globalmente.
Respuesta2
Tuve exactamente el mismo problema. Tengo python3.6 y python3.7 instalados en mi sistema Ubuntu. Instalé numpy usando pip3. Recibí el mismo error cuando intenté importar numpy en python3.7.
Observé que la siguiente línea número 1 en /user/bin/pip3 es
#!/usr/bin/python3
y mi python3 apuntaba a /usr/bin/python3.6
Lo siguiente funcionó para mí:
- Actualizar python3
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/<python version> 1
Esto hará que pip3 funcione para la versión deseada de python3.
- Desinstale el numpy que se instaló para python3 anterior
sudo pip3 uninstall numpy
- Instale numpy para la versión deseada de python3
sudo pip3 install numpy
¡Esto funcionó!
Respuesta3
Tuve el mismo problema, solucioné este error actualizando el numpy
paquete de la siguiente manera:
sudo pip install -U numpy
[NOTA]:
Si después de eso te encuentras con este error:UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
Haz el siguiente comando:
sudo apt-get install python3-tk