
Ich habe Python3.6 wie beschrieben installiertHier:
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6
Dann habe ich Numpy wie folgt installiert:
sudo apt-get install python3-numpy
Ich glaube, ich kann Numpy aus Python3.5 importieren, aber nicht aus 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'
Wie kann dieses Problem behoben werden?
Antwort1
Sie haben es wahrscheinlich numpy
nur für Ihr Python 3.5 installiert.
Anstatt die Installation numpy
über die Ubuntu-Repositorys durchzuführen, können Sie versuchen, zu installieren und zu verwenden pip
.
Dies ist der Paketmanager von Python. Sie können ihn verwenden, um verschiedene Python-Bibliotheken wie zu installieren numpy
.
Verwenden Sie ihn dann zur Installation numpy
für Ihr Python3.6.
Installieren pip
:
Installieren Sie es pip
mit dem folgenden Befehl:
apt install python-pip
Notiz:Möglicherweise erhalten Sie eine Permission denied
Fehlermeldung. In diesem Fall stellen Sie Ihrem Befehl einfach sudo
beispielsweise Folgendes voran:
sudo apt install python-pip
Geben Sie es dann in Ihr Terminal ein pip3.6
, um zu überprüfen, ob Sie es richtig installiert haben. Es sollte Ihnen alle verfügbaren Parameter auflisten.
Von hier aus gibt es im Allgemeinen zwei Optionen.
Option 1 – numpy
Global installieren
Speziell für Python 3.6 installieren numpy
:
pip3.6 install numpy
Notiz:Wenn Sie erneut einen Berechtigungsfehler erhalten, stellen Sie Ihrem Befehl Folgendes voran sudo
:
sudo pip3.6 install numpy
Die Ausgabe:
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
Notiz:Der Nachteil dieser Methode besteht darin, dass Sie numpy
eine globale Installation durchführen, die später zu unerwünschten Effekten führen kann, beispielsweise zu Problemen mit unterschiedlichen Versionen.
Option 2 – Verwenden Sie eine virtuelle Umgebung:
Mit dieser Methode können Sie eine isolierte Python-Umgebung erstellen, sozusagen eine Sandbox, in der Sie Python-Pakete installieren können, ohne sich groß um Abhängigkeiten, Versionen und Berechtigungen kümmern zu müssen.
Zuerst müssen Sie das zum Erstellen virtueller Umgebungen erforderliche Modul installieren:
sudo pip3.6 install virtualenv
Überprüfen Sie noch einmal, ob die Installation erfolgreich war:
virtualenv --version
Sollte die Version ohne Fehlermeldungen drucken.
Erstellen Sie nun eine virtuelle Umgebung für Python 3.6 (zu Ihrer Information: Es gibt mehrere Möglichkeiten, dies zu erreichen):
virtualenv /directory/to/place/the/virtual/environment
z.B
virtualenv ~/Documents/numpy
Navigieren Sie zu diesem Verzeichnis. Darin sollten sich mehrere Verzeichnisse befinden. Wir suchen das bin
Verzeichnis.
Jetzt müssen Sie diese virtuelle Umgebung aktivieren:
source bin/activate
Der Name der virtuellen Umgebung sollte auf der linken Seite Ihres Terminals erscheinen, z. B.:
(numpy) user@hostname:numpy$
Es zeigt an, dass die virtuelle Umgebung derzeit aktiv ist.
Ok, jetzt müssen Sie Folgendes installieren numpy
:
pip3.6 install numpy
Ausgabe:
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
Starten Sie nun Ihre Python-Shell und versuchen Sie, es zu importieren:
>>> import numpy
>>>
Es sollten keine Fehler auftreten.
Sie können nun mit Ihrer Arbeit fortfahren.
Wenn Sie fertig sind, können Sie die virtuelle Umgebung deaktivieren. Geben Sie einfach Folgendes ein:
deactivate
Der Indikator auf der linken Seite sollte verschwunden sein.
Wenn in Ihrer virtuellen Umgebung ein Problem auftritt, löschen Sie einfach das Verzeichnis, das das Problem enthält, und beginnen Sie von vorne.
Notiz:Der Nachteil bei der Verwendung virtueller Umgebungen besteht darin, dass Sie diese immer aktivieren und deaktivieren müssen. Allerdings wird dadurch das Risiko, dass Ihre global installierten Bibliotheken und Einstellungen durcheinander geraten, drastisch reduziert.
Antwort2
Ich hatte genau das gleiche Problem. Ich habe Python 3.6 und Python 3.7 auf meinem Ubuntu-System installiert. Ich hatte Numpy mit Pip3 installiert. Ich bekam den gleichen Fehler, als ich versuchte, Numpy in Python 3.7 zu importieren.
Ich habe festgestellt, dass die folgende Zeile Nummer 1 in /user/bin/pip3 ist
#!/usr/bin/python3
und mein Python3 zeigte auf /usr/bin/python3.6
Folgendes hat bei mir funktioniert:
- Python3 aktualisieren
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/<python version> 1
Dadurch funktioniert pip3 für die gewünschte Version von Python3
- Deinstallieren Sie das Numpy, das für ältere Python3-Versionen installiert wurde
sudo pip3 uninstall numpy
- Installieren Sie Numpy für die gewünschte Version von Python3
sudo pip3 install numpy
Das hat funktioniert!
Antwort3
Ich hatte das gleiche Problem und habe diesen Fehler behoben, indem ich das numpy
Paket wie folgt aktualisiert habe:
sudo pip install -U numpy
[NOTIZ]:
Wenn danach dieser Fehler auftritt:UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure.
Führen Sie den folgenden Befehl aus:
sudo apt-get install python3-tk