我在python中导入mpl_toolkits的底图模块时遇到麻烦。这是我从模块目录运行test.py脚本时得到的结果:
/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
我无法得到它,因为sys.path
给出了一个路径列表,我确信目录“basemap”在“mpl_toolkits”目录中。 import mpl_toolkits
没有问题。这是我尝试过的事情,手动添加路径,结果:
>>> 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
我尝试从apt-get,从conda卸载重新安装底图(仔细遵循these说明),但它没有改变任何东西:我无法导入底图。
谢谢您的帮助
我正面临这个问题,我能够使用anaconda解决它
激活我的个人资料后
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()
直到一分钟前,我处于相同的情况,通过它安装它就成了诀窍:
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
我遇到过同样的问题;尝试使用sys访问底图会产生该错误。但这对我有用:
import mpl_toolkits
mpl_toolkits.__path__.append('/usr/lib/python2.7/dist-packages/mpl_toolkits/')
from mpl_toolkits.basemap import Basemap
从here下载并手动安装。确保下载正确的版本(即如果你是Python3.6,那么下载basemap-1.2.0-cp36-cp36m-win_amd64.whl)
我不使用Anaconda,使用MacOS,我发现这个解决方案适合我。我想这是直截了当的,应该适用于Linux和MacOs。
https://stackoverflow.com/a/53171723/2570842
brew install geos
pip3 install https://github.com/matplotlib/basemap/archive/master.zip
对于Ubuntu,
sudo apt-get install geos
sudo pip3 install https://github.com/matplotlib/basemap/archive/master.zip
我能够通过以下步骤使底图工作。请注意,我做了--user
安装。
git clone --depth 1 [email protected]:matplotlib/basemap.git
)或提取当前版本的tarball。libgeos-dev
,libproj-dev
,libgeos++-dev
,proj-data
,proj-bin
,libgeos-c1v5
,libgeos
,libproj12
,我认为)。pip install --user pyproj matplotlib geos
(实际上不确定是否需要geos
)。现在,这是我不得不即兴发挥的地方。当我使用python setup.py install
安装底图时,它会在我的Python包中创建一个新的egg目录。该目录包含一个mpl_toolkits
子目录,该子目录复制了matplotlib安装的单独mpl_toolkits
目录。
所以,相反,我做到了
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
我现在能够运行像simpletest.py
这样的例子。
我按照这个答案:
https://stackoverflow.com/a/43234894/3818277
虽然,我可能错误地安装了mpl_toolkits(或者我不知道),在我的情况下我发现,底图位于pymodules中:
mpl_toolkits.__path__.append('/usr/lib/pymodules/python2.7/mpl_toolkits/')
from mpl_toolkits.basemap import Basemap
所以这在ubuntu 14.04 LTS上对我有用。
如果您使用的是Anaconda,它有一个底图包
conda安装底图
(pip不再有底图包)
要么
如果您使用Ubuntu系统,您可以尝试
apt install python3-mpltoolkits.basemap