问题
I have troubles to import the basemap module of mpl_toolkits in python. Here is what I get when I run the test.py script from the module directory:
/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
I can't get it since sys.path
gives a list of paths where I am sure the directory "basemap" is, in the "mpl_toolkits" directory. There is no problem to import mpl_toolkits
. Here is a thing I tried, to manually add the path, and the result:
>>> 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
I tried to uninstall an reinstall basemap from source (carefully following these instructions), from apt-get, from conda, but it does not change anything: I can't import basemap.
Thank you for your help
回答1:
I was facing this issue and I was able to solve it using anaconda
After activating my profile
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()
回答2:
I was in the same situation until a minute ago, installing it trough this made the trick:
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
回答3:
I had the same issue; trying to access basemap using sys would produce that error. But this worked for me:
import mpl_toolkits
mpl_toolkits.__path__.append('/usr/lib/python2.7/dist-packages/mpl_toolkits/')
from mpl_toolkits.basemap import Basemap
回答4:
I do not use Anaconda, using MacOS, and I have found this solution works for me. I guess it is straight forward, and should work with both Linux and MacOs.
https://stackoverflow.com/a/53171723/2570842
brew install geos
pip3 install https://github.com/matplotlib/basemap/archive/master.zip
For Ubuntu,
sudo apt-get install geos
sudo pip3 install https://github.com/matplotlib/basemap/archive/master.zip
回答5:
Download it from here and install it manually. Make sure to download the right version(i.e. if you are Python3.6 then download basemap‑1.2.0‑cp36‑cp36m‑win_amd64.whl)
Reference: https://stackoverflow.com/a/33020524/8730201
回答6:
I followed this answer:
https://stackoverflow.com/a/43234894/3818277
Though, I can have wrongly installed mpl_toolkits (or I do not know), in my case I found out, that basemap is located in pymodules like that:
mpl_toolkits.__path__.append('/usr/lib/pymodules/python2.7/mpl_toolkits/')
from mpl_toolkits.basemap import Basemap
So this worked for me on ubuntu 14.04 LTS.
回答7:
I was able to get basemap working through the following steps. Note that I did a --user
install.
- Create shallow clone of basemap (
git clone --depth 1 git@github.com:matplotlib/basemap.git
) or extract the tarball of the current version. - Install the necessary prerequisite libraries (on Ubuntu,
libgeos-dev
,libproj-dev
,libgeos++-dev
,proj-data
,proj-bin
,libgeos-c1v5
,libgeos
,libproj12
, I think). pip install --user pyproj matplotlib geos
(not actually sure ifgeos
is necessary).
Now, here's where I had to improvise a little bit. When I install basemap using python setup.py install
, it creates a new egg directory among my Python packages. That directory contains an mpl_toolkits
subdirectory which duplicates a separate mpl_toolkits
directory installed by matplotlib.
So, instead, I did
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
I am now able to run examples like simpletest.py
.
回答8:
If you're using Anaconda, it has a package for basemap
conda install basemap
(pip doesn't have the basemap package any more)
OR
If you using Ubuntu system you can try
apt install python3-mpltoolkits.basemap
来源:https://stackoverflow.com/questions/40374441/python-basemap-module-impossible-to-import