我在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
提供了一个路径列表,我确定目录&#34; basemap&#34;是,在&#34; mpl_toolkits&#34;目录。 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说明),但它没有改变任何内容:我无法导入底图。
感谢您的帮助
答案 0 :(得分:16)
我遇到了这个问题,我能够使用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()
答案 1 :(得分:15)
直到一分钟前我处于相同的情况,通过这种方式安装它就成了诀窍:
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
答案 2 :(得分:6)
我有同样的问题;尝试使用sys访问底图会产生该错误。但这对我有用:
import mpl_toolkits
mpl_toolkits.__path__.append('/usr/lib/python2.7/dist-packages/mpl_toolkits/')
from mpl_toolkits.basemap import Basemap
答案 3 :(得分:1)
从here下载并手动安装。确保下载正确的版本(例如,如果您使用的是Python3.6,则下载 basemap‑1.2.0‑cp36‑cp36m‑win_amd64.whl )
答案 4 :(得分:1)
我不使用Anaconda,而是使用MacOS,并且我发现此解决方案适用于我。我想这很简单,应该可以在Linux和MacO上使用。
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
答案 5 :(得分:1)
唯一适用于 Windows 的解决方案。
从这里下载车轮包:https://www.lfd.uci.edu/~gohlke/pythonlibs/#basemap 导航到终端中的下载位置。 使用 pip install
安装答案 6 :(得分:0)
通过以下步骤,我能够使底图正常工作。请注意,我进行了--user
安装。
git clone --depth 1 git@github.com:matplotlib/basemap.git
)的浅表克隆或提取当前版本的tarball。libgeos-dev
,libproj-dev
,libgeos++-dev
,proj-data
,proj-bin
,libgeos-c1v5
,{{ 1}},libgeos
,我认为)。libproj12
(实际上不确定是否需要pip install --user pyproj matplotlib geos
)。现在,这是我不得不即兴创作的地方。当我使用geos
安装底图时,它会在我的Python包中创建一个新的egg目录。该目录包含一个python setup.py install
子目录,该子目录复制了matplotlib安装的单独的mpl_toolkits
目录。
所以,我做了
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
的示例。
答案 7 :(得分:0)
我遵循了这个答案:
https://stackoverflow.com/a/43234894/3818277
尽管如此,我可能错误地安装了mpl_toolkits(或者我不知道),就我而言,我发现底图位于像这样的pymodules中:
/soap:Envelope/soap:Body/GetInvoiceResult
所以这对我来说适用于Ubuntu 14.04 LTS。
答案 8 :(得分:0)
如果您使用的是Anaconda,它有一个底图包
conda安装底图
(pip不再具有底图包)
OR
如果您使用Ubuntu系统,则可以尝试
易于安装python3-mpltoolkits.basemap
答案 9 :(得分:0)
答案 10 :(得分:0)
以我为例
sudo apt install python3-mpltoolkits.basemap
答案 11 :(得分:0)
经过一天的尝试不同的方法,这对我有用:
a = {'text': 'hello'}
b = a
a['text'] = 'bye'
print(b['text']) # prints 'bye'
答案 12 :(得分:0)
我遇到了同样的问题。无法导入底图:
from mpl_toolkits.basemap import Basemap
但令人惊讶的是 Pycharm 看到了显然安装在这个位置的库:
lib/python3.8/site-packages/basemap-1.2.1-py3.8-linux-x86_64.egg/mpl_toolkits/basemap/
所以,为了使它工作,我刚刚在 lib/python3.8/site-packages/mpl_toolkits/
中创建了一个符号链接:
ln -s ../basemap-1.2.1-py3.8-linux-x86_64.egg/mpl_toolkits/basemap/ basemap
我知道这不是一个干净的解决方案,但在某些情况下可能就足够了。
答案 13 :(得分:-1)
您可能还需要安装setuptools。这允许mpl_toolkits成为可以跨越多个目录的命名空间包(即matplotlib和底图&#39;)。