Problème lors de l'importation d'un module (mpl_toolkits.basemap) en Python

12

Le problème est donc le suivant: j'essaie d'apprendre à tracer des cartes avec Python, en utilisant des fichiers de formes. Il existe de nombreux exemples disponibles sur Internet, mais à peu près tous commencent par quelque chose comme

from mpl_toolkits.basemap import Basemap

Qui, lorsque j'essaie de saisir ceci dans un bloc-notes IPython, la console Python, ou Pycharm, renvoie

ImportError: No module named 'mpl_toolkits.basemap'

À laquelle la prochaine réponse est, d'accord, il est temps de sudo apt-get install python-mpltoolkits.basemap. Cela court, en retournant:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
python-mpltoolkits.basemap is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 12 not upgraded.

J'ai essayé sudo apt-get remove python-mpltoolkits.basemappuis réinstallé avec apt-get, pas de joie.

Comment puis-je faire en sorte que le système reconnaisse que le module existe ou le réinstaller de telle sorte qu'il soit reconnaissable par l'interpréteur Python?

user332602
la source
1
J'ai le même problème. En creusant un peu de depper, après avoir vérifié que les fichiers étaient installés, j'ai essayé: cd /usr/share/pyshared/mpl_toolkits; python -c 'import basemap'et j'ai eu une trace intéressante: Traceback (most recent call last): File "<string>", line 1, in <module> File "basemap/__init__.py", line 30, in <module> from mpl_toolkits.basemap import pyproj ImportError: No module named basemapil semble qu'il y ait un problème de dépendance circulaire.
elias

Réponses:

10

Cet article décrit comment installer le fond de carte. Et voici le dépôt git, et voici un code source téléchargeable par navigateur .

De l'article, en bref:
1) Téléchargez la source si l'installation apt-get ne fonctionne pas
2) installez la source (super utile si vous installez dans un environnement virtuel) en:

cd basemap-1.x.x
python setup.py install

Ensuite, voici également la doc , avec des guides d'installation et comment tester si vous avez installé correctement. (il suffit de l'exécuter from mpl_toolkits.basemap import Basemapdans le terminal).

Il est important de noter que si vous rencontrez des problèmes avec les libgeos détectés, le doc suggère que vous installiez la source des libgeos incluse (3.3.3) séparément d'abord.

romain
la source
8

Si vous utilisez Anaconda, il a un package pour le fond de carte:

conda install basemap

(Il semble que pip n'ait plus le paquet.)

Luc
la source
3
le fond de carte d'installation de pip ne fonctionne pas
xApple
Ah, on dirait que non. (C'était le cas dans le passé; étrange!) J'ai mis à jour ma réponse.
Luke
'conda install basemap' ne fonctionne pas car il existe un conflit entre le fond de carte et Numba. La commande suivante a fonctionné pour moi 'conda install anaconda = custom basemap'
Ernest S Kirubakaran
3

Dans mon cas, la commande suivante a fonctionné

sudo apt install python3-mpltoolkits.basemap
srinivasu u
la source
0

mettez d'abord à jour votre conda

$ conda update conda

vérifiez votre version python

$ conda search "^python$"

créer un environnement virtuel pour votre projet

$ conda create -n yourenvname python=x.x anaconda

activer votre environnement

$ source activate yourenvironment

installez le package de fond de carte dans votre environnement

$ conda install -n yourenvname basemap
Moein Jahanbani
la source