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
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()
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
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
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.
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
J'ai réussi à obtenir un fond de carte en passant par les étapes suivantes. Notez que j'ai fait une installation --user
.
git clone --depth 1 [email protected]:matplotlib/basemap.git
) ou extrayez l'archive tar de la version actuelle.libgeos-dev
, libproj-dev
, libgeos++-dev
, proj-data
, proj-bin
, libgeos-c1v5
, libgeos
, libproj12
, je pense).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
.