web-dev-qa-db-fra.com

Fond de carte avec Python 3.5 Anaconda sous Windows

J'utilise Python 3.5 avec la dernière version d'Anaconda sur Windows (64 bits). Je voulais installer Basemap en utilisant conda install basemap. Apparemment, il y a un conflit entre Python 3 et le fond de carte. Après quelques recherches sur google, j'ai trouvé que le fond de carte n'est pas pris en charge sur Python 3 pour les utilisateurs de Windows (ex: - https://groups.google.com/a/continuum.io/forum/#!topic/anaconda/TjAwi3ilQa ).

Pour des raisons évidentes, je ne souhaite pas rétrograder vers Python 2. Quelle serait alors la solution alternative la plus simple?

  • Existe-t-il un autre package similaire au fond de carte pour tracer des cartes, etc.?
  • Dois-je utiliser un deuxième environnement qui utilise Python 2 et fond de carte? Je ne l'ai jamais fait mais cela semble possible ( http://conda.pydata.org/docs/py2or3. html ). Est-il "sûr"? Dois-je réinstaller tous les autres packages (matplotlib, numpy, etc.) sur le second environnement?

Merci d'avance pour l'aide et les conseils.

23
Prikers

J'ai résolu ce problème plusieurs fois (la dernière fois en ce moment) en le téléchargeant depuis http://www.lfd.uci.edu/~gohlke/pythonlibs et en suivant les instructions d'installation. À partir de l'invite de commande anaconda

pip install full_path_to_package

Par exemple, si vous téléchargez basemap-1.1.0-cp36-cp36m-win_AMD64.whl, vous exécuterez

installer pip C:\chemin\vers\fichier\basemap-1.1.0-cp36-cp36m-win_AMD64.whl

Notez que la version python du fichier .whl doit correspondre à votre python) . Par exemple, ...-cp36-.... indique Python 3.6. Vous pouvez trouver votre version python en exécutant la commande python --version.

18

En référence à la réponse de Solly, j'ai Windows 10, python 3.5.3, Anaconda 64bit, dans l'invite Anaconda que j'ai entrée:

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

puis le code, tiré de Python for Data Science for Dummies , page 193 (Le traçage des données géographiques a très bien fonctionné. Je voulais ajouter juste un commentaire à la réponse de Solly, mais je n'ai pas assez de crédits pour le faire. Le code est:

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap

austin = (-97.75, 30.25)
hawaii = (-157.8, 21.3)
washington = (-77.01, 38.90)
chicago = (-87.68, 41.83)
losangeles = (-118.25, 34.05)

m = Basemap(projection = 'merc', llcrnrlat=10, urcrnrlat=50,
        llcrnrlon=-160, urcrnrlon=-60)

m.drawcoastlines()
m.fillcontinents (color='lightgray', lake_color='lightblue')
m.drawparallels(np.arange(-90.,91.,30.))
m.drawmeridians(np.arange(-180.,181.,60.))
m.drawmapboundary(fill_color='aqua')

m.drawcounties()

x, y = m(*Zip(*[hawaii, austin, washington, chicago, losangeles]))
m.plot(x,y, marker ='o', markersize=6, markerfacecolor='red', linewidth=0)

plt.title('Mercator Projection')
plt.show()
32
kalinfirst

J'exécutais le même problème (Python 3.5 et Anaconda) et j'ai finalement téléchargé Basemap 1.0.8dev0 à partir de ici et l'ai installé en utilisant conda (comme décrit par le lien).

4
Solly

Cartopy est une alternative à Basemap, et il est activement développé.

Il y a une belle galerie ici: http://scitools.org.uk/cartopy/docs/latest/gallery.html

2
onewhaleid

À vrai dire, j'ai eu le même problème et j'ai essayé de le réparer pendant longtemps et j'ai même essayé un environnement python 2 sans chance).

Personnellement, l'utilisation d'une installation python 2 était beaucoup plus facile et moins longue. Désolé pour la non réponse.

0
Mat Moon

Les informations ci-dessous concernent Mac OS:

  1. Téléchargé depuis ici !
  2. Courir conda install -c conda-forge basemap-1.2.0-py37h9622e30_3.tar.bz2
  3. enter image description here
  4. Terminé
0