webentwicklung-frage-antwort-db.com.de

Python-Basiskartenmodul kann nicht importiert werden

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

13
Arnaud PROST

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()

 BlueMarble format of basemap

13
Anant Gupta

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
15
Akima

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
6
GStav

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
3
beahacker

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)

Referenz: https://stackoverflow.com/a/33020524/8730201

1
Sam

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.

0
weatherman

Ich konnte die Grundkarte durch die folgenden Schritte ausführen. Beachten Sie, dass ich eine --user-Installation vorgenommen habe.

  1. Erstellen Sie einen flachen Klon der Basiskarte (git clone --depth 1 [email protected]:matplotlib/basemap.git) oder extrahieren Sie den Tarball der aktuellen Version.
  2. Installieren Sie die erforderlichen Bibliotheken (unter Ubuntu libgeos-dev, libproj-dev, libgeos++-dev, proj-data, proj-bin, libgeos-c1v5, libgeos, libproj12, denke ich).
  3. 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.

0
Doctor Mohawk

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

0
Santosh