web-dev-qa-db-fra.com

Module de fond de carte Python impossible à importer

J'ai des problèmes pour importer le module de fond de carte de mpl_toolkits en python. Voici ce que je reçois lorsque je lance le script test.py à partir du répertoire du module:

/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

Je ne peux pas l'obtenir car sys.path donne une liste des chemins où je suis sûr que le répertoire "basemap" se trouve, dans le répertoire "mpl_toolkits". Il n'y a pas de problème pour import mpl_toolkits. Voici une chose que j'ai essayée, d'ajouter manuellement le chemin, et le résultat:

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

J'ai essayé de désinstaller un fond de carte réinstaller le code source (en suivant scrupuleusement les instructions this ), d'apt-get, de conda, mais cela ne change rien: je ne peux pas importer de fond de plan.

Merci de votre aide

13
Arnaud PROST

Je faisais face à ce problème et j'ai pu le résoudre en utilisant anaconda

Après avoir activé mon profil

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

J'étais dans la même situation jusqu'à il y a une minute, l'installer de cette manière a rendu l'astuce:

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

J'ai eu le même problème; essayer d’avoir accès à un fond de carte en utilisant sys produirait cette erreur. Mais cela a fonctionné pour moi:

import mpl_toolkits
mpl_toolkits.__path__.append('/usr/lib/python2.7/dist-packages/mpl_toolkits/')
from mpl_toolkits.basemap import Basemap
6
GStav

J'ai suivi cette réponse:

https://stackoverflow.com/a/43234894/3818277

Même si je peux avoir mal installé mpl_toolkits (ou je ne sais pas), dans mon cas, j'ai découvert que ce fond de carte est situé dans des pymodules comme celui-ci:

    mpl_toolkits.__path__.append('/usr/lib/pymodules/python2.7/mpl_toolkits/')
    from mpl_toolkits.basemap import Basemap

Donc, cela a fonctionné pour moi sur Ubuntu 14.04 LTS.

0
weatherman

Téléchargez-le depuis ici et installez-le manuellement. Assurez-vous de télécharger la bonne version (par exemple, si vous êtes Python3.6, puis téléchargez basemap-1.2.0 ‑ cp36 ‑ cp36m ‑ win_AMD64.whl

Référence: https://stackoverflow.com/a/33020524/8730201

0
Sam

J'ai réussi à obtenir un fond de carte en passant par les étapes suivantes. Notez que j'ai fait une installation --user.

  1. Créez un clone superficiel du fond de carte (git clone --depth 1 [email protected]:matplotlib/basemap.git) ou extrayez l'archive tar de la version actuelle.
  2. Installez les bibliothèques de prérequis nécessaires (sur Ubuntu, libgeos-dev, libproj-dev, libgeos++-dev, proj-data, proj-bin, libgeos-c1v5, libgeos, libproj12, je pense).
  3. pip install --user pyproj matplotlib geos (pas vraiment sûr si geos est nécessaire).

Maintenant, voici où je devais improviser un peu. Lorsque j'installe le fond de carte à l'aide de python setup.py install, il crée un nouveau répertoire Egg parmi mes packages Python. Ce répertoire contient un sous-répertoire mpl_toolkits qui duplique un répertoire mpl_toolkits séparé installé par matplotlib.

Donc, au lieu de cela, j'ai fait

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

Je suis maintenant capable d'exécuter des exemples comme simpletest.py.

0
Doctor Mohawk