web-dev-qa-db-fra.com

Importer mpl_toolkits.basemap sous Windows?

J'ai récemment commencé à utiliser Python 3.5 et Anaconda sur mon PC Windows. J'essaie de tracer une carte. Cependant, quand je suis dans mon cahier Jupyter et que je tape la commande

import mpl_toolkits.basemap

Je reçois un message d'erreur disant «pas de nom de module», «mpl_toolkits.basemap». Cependant, le module est téléchargé dans le même fichier C:\Users\Geena que mes fichiers .matplotlib, .ipython, .jupyter, etc.

Quelqu'un sait comment je peux résoudre ce problème?

5
Geena

J'ai eu ce problème avec Anaconda sur mes fenêtres 7.
J'ai trouvé le moyen de résoudre ce problème avec Python 3.5:
Vous devez exécuter avec les droits d'administrateur "Anaconda Prompt" et dans "Anaconda Prompt", exécutez la commande suivante:

conda install -c conda-forge basemap-data-hires=1.0.8.dev0

, il montrera les nouveaux paquets que vous devez installer et vous demandera de l’installer - dites 'Oui'.
Après cela, de nouveaux packages seront installés et le problème "import mpl_toolkits.basemap" sera corrigé.

Je vous remercie.

9
Thedoorsalive

J'utilise python 3.6.4 on Windows 7 Famille Premium (32 bits) .

Parce que j'étais un peu frustré par le message "pas de module nommé 'mpl_toolkits.basemap'", j'ai cherché et essayé une douzaine de solutions sans succès: différentes versions, construction à partir du code source, problèmes de version VS, nmake, ... tous savent ce que je veux dire ;-)

J'ai finalement trouvé une solution assez simple qui fonctionne parfaitement pour moi :-) La voilà!

  1. de ici j'ai téléchargé basemap‑1.1.0‑cp36‑cp36m‑win32.whl
  2. J'ai changé le répertoire actuel en mon répertoire de téléchargement
  3. J'ai installé la roue avec python -m pip basemap‑1.1.0‑cp36‑cp36m‑win32.whl
  4. J'ai fait la même chose pour matplotlib‑2.2.3‑cp36‑cp36m‑win32.whl

Vous ne lisez PAS les versions correctement: matplotlib 2.2.3 et basemap 1.1.0

Tout fonctionne bien pour moi et je peux enfin tracer les points d'intérêt OSM sur une carte de la Belgique, sans «ruse» à l'importation:

import requests  # to fetch OSM data
import json  # to get the response

from mpl_toolkits.basemap import Basemap  # ... Belgium is there !
import numpy as np  # for arrays
import matplotlib.pyplot as plt  # to build the populated map

Un grand merci à Christoph Gohlke (Danke Dir Christoph!) Qui a accompli un travail remarquable!

2
Claude

Actuellement, le fond de carte n'est pas compatible avec Python 3 pour les utilisateurs de Windows. Donc, si vous essayez conda install basemap et que vous avez Python 3 installé dans Windows, vous verrez un message indiquant qu'un conflit a été trouvé avec Python 3.

J'ai résolu ce problème en installant un environnement Python 2.7. Essayez ceci: http://conda.pydata.org/docs/py2or3.html

Ensuite, il vous suffit d'activer l'environnement Python 2. Par exemple: activate py27 (py27 est l'identifiant de mon environnement python 2.7).

Après cela, vous pouvez exécuter conda install basemap sans conflit.

2

Anaconda nécessite une commande d'installation inhabituelle pour le fond de carte 1.0.7.
https://anaconda.org/anaconda/basemap

Pour installer ce paquet avec conda run:
conda install -c https://conda.anaconda.org/anaconda basemap

2
Walter

Lorsque vous avez Anaconda , vous n'avez pas télécharger modules nulle part. Dans l'invite de commande, vous tapez

conda install basemap

et il est installé avec toutes ses dépendances.

2
j08lue

Je viens d'avoir ce problème aussi. Il vous suffit de mettre à jour matplotlib en procédant comme suit:

pip install --upgrade matplotlib

mpl_toolkits fait partie de matplotlib et doit simplement être mis à jour.

1
Patrick Old

Si vous utilisez anaconda, la chose la plus simple à faire est décrite here : dans le Conda Prompt (en tant qu’administrateur), tapez conda install -c anaconda basemap.

0
Ivo