Importing mpl_toolkits.basemap on Windows?

41,871

Solution 1

I've had this issue with anaconda on my windows 7.
I found the way to fix it with python 3.5:
You need to run with administrator rights "Anaconda Prompt" and in "Anaconda Prompt" run following command:

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

, it will show new packages that you need to install and will ask you to install it - say 'Yes'.
After that new packages will be installed and the issue "import mpl_toolkits.basemap" will be fixed.

Thank you.

Solution 2

Currently, basemap is not compatible with python 3 for windows users. So, if you try conda install basemap and you have python 3 installed in windows, you'll see a message pointing out that a conflict was found with python 3.

I solved this by installing a python 2.7 environment. Try this: http://conda.pydata.org/docs/py2or3.html

Then you just activate the python 2 environment. For example: activate py27 (py27 is the identifier of my python 2.7 environment).

After that, you can run conda install basemap with no conflict.

Solution 3

I'm using python 3.6.4 on Windows 7 Family Premium (32bit).

Because I was a bit frustrated by the message "no module named 'mpl_toolkits.basemap'", I searched for and tried a dozen of solutions without success : various versions, building from source, problems with VS version, nmake, ... You all know what I mean ;-)

I finally found a quite simple solution that works perfectly well for me :-) Here it is !

  1. from here I downloaded basemap‑1.1.0‑cp36‑cp36m‑win32.whl
  2. I changed the current dir to my download dir
  3. I installed the wheel with python -m pip basemap‑1.1.0‑cp36‑cp36m‑win32.whl
  4. I did the same for matplotlib‑2.2.3‑cp36‑cp36m‑win32.whl

You DO read the versions correctly : matplotlib 2.2.3 and basemap 1.1.0

Everything works fine for me and I finally can plot OSM POI's on a map of Belgium, without any 'trickery' at import :

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

Big big thanks to Christoph Gohlke (Danke Dir Christoph !) who did all the wonderful job !

Solution 4

When you have Anaconda, you don't download modules anywhere. In your command prompt, you type

conda install basemap

and it is installed with all its dependencies.

Solution 5

Anaconda requires an unusual install command for basemap 1.0.7.
https://anaconda.org/anaconda/basemap

To install this package with conda run:
conda install -c https://conda.anaconda.org/anaconda basemap

Share:
41,871
Admin
Author by

Admin

Updated on June 22, 2021

Comments

  • Admin
    Admin almost 3 years

    I have recently started using Python 3.5 and Anaconda on my Windows pc. I am trying to plot a map. However, When I am in my Jupyter notebook and i type the command

    import mpl_toolkits.basemap

    I get an error message saying 'no module name' 'mpl_toolkits.basemap' However, I have the module downloaded and in the same C:\Users\Geena file as my .matplotlib, .ipython, .jupyter files, etc.

    Anyone know how I can fix this?

  • Joël
    Joël almost 6 years
    Thanks for the info; how is one suppossed to guess such a package name?
  • j08lue
    j08lue almost 6 years
    Search anaconda.org/anaconda/repo or, if you are using conda-forge, conda-forge.org/feedstocks
  • Joël
    Joël almost 6 years
    Indeed, thanks :) I'm now facing the fact that package is avail only for python2.7 -- installation in progress!
  • j08lue
    j08lue almost 6 years
    @Joël conda-forge has it for all versions anaconda.org/conda-forge/basemap. Generally a good idea to use conda-forge.
  • Joël
    Joël almost 6 years
    Wow, great! I just got basemap for python3.5 with following command: conda install -c conda-forge basemap, and it works like a charm!
  • dadaist
    dadaist over 5 years
    Works on 64 bit Windows 10 too, with basemap‑1.2.0‑cp36‑cp36m‑win_amd64.whl
  • Admin
    Admin over 5 years
    thanks ! works on 64 bit windows 7 with python 3.5.2