Ich habe Probleme beim Importieren des Basemap-Moduls von mpl_toolkits in Python. Folgendes erhalte ich, wenn ich das test.py-Skript aus dem Modulverzeichnis ausführe:
/usr/lib/python2.7/dist-packages/mpl_toolkits/basemap$ python test.py
Traceback (most recent call last):
File "test.py", line 1, in <module>
from mpl_toolkits.basemap import Basemap, shiftgrid
ImportError: No module named basemap
Ich kann es nicht bekommen, da sys.path
eine Liste von Pfaden enthält, bei denen ich sicher bin, dass das Verzeichnis "basemap" im Verzeichnis "mpl_toolkits" ist. Es gibt kein Problem mit import mpl_toolkits
. Ich habe versucht, den Pfad und das Ergebnis manuell hinzuzufügen:
>>> import sys
>>> sys.path.append('/usr/lib/python2.7/dist-packages/mpl_toolkits/basemap')
>>> import basemap
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "basemap/__init__.py", line 30, in <module>
from mpl_toolkits.basemap import pyproj
ImportError: No module named basemap
Ich habe versucht, eine erneute Basiskarte aus dem Quellcode zu deinstallieren (sorgfältig nach diesen / Anweisungen), von apt-get und von conda. Dies ändert jedoch nichts: Ich kann keine Basiskarte importieren.
Danke für deine Hilfe
Ich war mit diesem Problem konfrontiert und konnte es mit Anaconda lösen
Nachdem ich mein Profil aktiviert habe
source activate MyProfileName
conda install basemap
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
# setup Lambert Conformal basemap.
# set resolution=None to skip processing of boundary datasets.
m = Basemap(width=12000000,height=9000000,projection='lcc',
resolution=None,lat_1=45.,lat_2=55,lat_0=50,lon_0=-107.)
m.bluemarble()
plt.show()
Ich befand mich bis vor einer Minute in der gleichen Situation.
Sudo apt-get install libgeos-3.5.0
Sudo apt-get install libgeos-dev
Sudo pip install https://github.com/matplotlib/basemap/archive/master.Zip
Ich hatte das gleiche Problem. Wenn Sie versuchen, mit sys auf die Basiskarte zuzugreifen, wird dieser Fehler ausgegeben. Aber das hat für mich funktioniert:
import mpl_toolkits
mpl_toolkits.__path__.append('/usr/lib/python2.7/dist-packages/mpl_toolkits/')
from mpl_toolkits.basemap import Basemap
Ich verwende Anaconda nicht unter MacOS, und ich habe festgestellt, dass diese Lösung für mich funktioniert. Ich denke, es ist einfach und sollte sowohl mit Linux als auch mit MacOs funktionieren.
https://stackoverflow.com/a/53171723/2570842
brew install geos
pip3 install https://github.com/matplotlib/basemap/archive/master.Zip
Für Ubuntu
Sudo apt-get install geos
Sudo pip3 install https://github.com/matplotlib/basemap/archive/master.Zip
Laden Sie es von hier herunter und installieren Sie es manuell. Stellen Sie sicher, dass Sie die richtige Version herunterladen (dh wenn Sie Python3.6 verwenden, laden Sie basemap ‑ 1.2.0 ‑ cp36 ‑ cp36m ‑ win_AMD64.whl)
Ich folgte dieser Antwort:
https://stackoverflow.com/a/43234894/3818277
Ich kann mpl_toolkits zwar falsch installiert haben (oder ich weiß es nicht), aber in meinem Fall habe ich herausgefunden, dass sich die Grundkarte in Pymodulen befindet:
mpl_toolkits.__path__.append('/usr/lib/pymodules/python2.7/mpl_toolkits/')
from mpl_toolkits.basemap import Basemap
Das hat für mich auf Ubuntu 14.04 LTS funktioniert.
Ich konnte die Grundkarte durch die folgenden Schritte ausführen. Beachten Sie, dass ich eine --user
-Installation vorgenommen habe.
git clone --depth 1 [email protected]:matplotlib/basemap.git
) oder extrahieren Sie den Tarball der aktuellen Version.libgeos-dev
, libproj-dev
, libgeos++-dev
, proj-data
, proj-bin
, libgeos-c1v5
, libgeos
, libproj12
, denke ich).pip install --user pyproj matplotlib geos
(nicht wirklich sicher, ob geos
erforderlich ist).Jetzt musste ich ein bisschen improvisieren. Wenn ich die Basiskarte mit python setup.py install
installiere, wird ein neues Egg-Verzeichnis unter meinen Python-Paketen erstellt. Dieses Verzeichnis enthält ein mpl_toolkits
-Unterverzeichnis, in dem ein separates mpl_toolkits
-Verzeichnis dupliziert wird, das von matplotlib installiert wird.
Stattdessen tat ich es
python setup.py build_ext --inplace
cp -a lib/mpl_toolkits/basemap /my/python/packages/dir/mpl_toolkits/basemap
cp lib/_geoslib.so /my/python/packages/dir
Ich kann jetzt Beispiele wie simpletest.py
ausführen.
Wenn Sie Anaconda verwenden, enthält es ein Paket für die Grundkarte
conda install basemap
(pip hat das Grundkartenpaket nicht mehr)
OR
Wenn Sie Ubuntu-System verwenden, können Sie versuchen
installieren Sie dazu python3-mpltoolkits.basemap