J'ai installé Python3.6 comme décrit ici :
Sudo add-apt-repository ppa:jonathonf/python-3.6
Sudo apt-get update
Sudo apt-get install python3.6
Puis j'ai installé numpy comme suit:
Sudo apt-get install python3-numpy
Je suppose que je peux importer numpy de Python3.5 mais pas de 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'
Comment résoudre ce problème?
numpy
est probablement installé uniquement pour votre python3.5.
Au lieu d'installer numpy
via les référentiels Ubuntu, vous pouvez essayer d'installer et d'utiliser pip
name__.
Ceci est le gestionnaire de paquets de python. Vous pouvez l’utiliser pour installer diverses bibliothèques python telles que numpy
name__.
Puis utilisez-le pour installer numpy
pour votre python3.6.
pip
name__:Installez pip
à l'aide de la commande suivante:
apt install python-pip
Remarque: Vous pouvez recevoir une erreur Permission denied
. Dans ce cas, il suffit de préfixer votre commande avec Sudo
name__, par exemple:
Sudo apt install python-pip
Ensuite, tapez votre terminal pip3.6
pour vérifier s'il est correctement installé. Il devrait vous lister tous ses paramètres disponibles.
Il y a généralement deux options à partir de là.
numpy
globalementInstallez numpy
spécifiquement pour python3.6:
pip3.6 install numpy
Remarque: Encore une fois, si vous recevez une erreur d'autorisation, préfixez votre commande avec Sudo
name__:
Sudo pip3.6 install numpy
Le résultat:
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
Remarque: L'inconvénient de cette méthode est que vous avez numpy
installé globalement, ce qui peut entraîner des effets indésirables à l'avenir, comme des problèmes avec différentes versions.
Cette méthode vous permet de créer un environnement Python isolé, un sandbox si vous voulez, où vous pouvez installer des packages python, sans vous soucier des dépendances, des versions et des autorisations.
Tout d'abord, vous devez installer le module, indispensable pour créer des environnements virtuels:
Sudo pip3.6 install virtualenv
Encore une fois, vérifiez si l'installation est réussie:
virtualenv --version
Devrait imprimer la version sans aucun message d'erreur.
Créez maintenant un environnement virtuel pour python3.6 (FYI - il existe plusieurs façons d’y parvenir):
virtualenv /directory/to/place/the/virtual/environment
par exemple.
virtualenv ~/Documents/numpy
Accédez à ce répertoire. Il devrait y avoir plusieurs répertoires à l'intérieur. Nous recherchons le répertoire bin
name__.
Vous devez maintenant activer cet environnement virtuel:
source bin/activate
Le nom de l’environnement virtuel doit apparaître à gauche de votre terminal, par exemple:
(numpy) user@hostname:numpy$
Cela indique que l'environnement virtuel est actuellement actif.
Ok, vous devez maintenant installer numpy
name__:
pip3.6 install numpy
Sortie:
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
Maintenant, démarrez votre Python Shell et essayez de l'importer:
>>> import numpy
>>>
Il ne devrait y avoir aucune erreur.
Vous pouvez maintenant continuer votre travail.
Lorsque vous avez terminé, vous pouvez désactiver l'environnement virtuel. Il suffit de taper:
deactivate
L'indicateur sur le côté gauche devrait avoir disparu.
En cas de problème avec votre environnement virtuel, supprimez simplement le répertoire qui le contient et recommencez.
Remarque: L'inconvénient de l'utilisation d'environnements virtuels est que vous devez toujours les activer et les désactiver, mais cela réduit considérablement le nombre de modifications apportées aux paramètres et aux bibliothèques installées globalement.