Python 无法导入底图模块

Python basemap module impossible to import

我无法在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

我尝试从源代码(仔细遵循 these 说明)、apt-get、conda 卸载重新安装的底图,但它没有改变任何东西:我无法导入底图。

感谢您的帮助

直到一分钟前我也遇到了同样的情况,通过这个安装它成功了:

sudo apt-get install libgeos-3.5.0
sudo apt-get install libgeos-dev
pip install https://github.com/matplotlib/basemap/archive/master.zip

我遇到了这个问题,我可以使用 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()

我遇到了同样的问题;尝试使用 sys 访问底图会产生该错误。但这对我有用:

import mpl_toolkits
mpl_toolkits.__path__.append('/usr/lib/python2.7/dist-packages/mpl_toolkits/')
from mpl_toolkits.basemap import Basemap

我能够通过以下步骤获得底图。请注意,我安装了 --user

  1. 创建底图的浅克隆 (git clone --depth 1 git@github.com:matplotlib/basemap.git) 或提取当前版本的 tarball。
  2. 安装必要的先决条件库(在 Ubuntu、libgeos-devlibproj-devlibgeos++-devproj-dataproj-binlibgeos-c1v5, libgeos, libproj12, 我想).
  3. 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

我遵循了这个答案:

不过,我可能错误地安装了 mpl_toolkits(或者我不知道),就我而言,我发现底图位于 pymodules 中,就像这样:

    mpl_toolkits.__path__.append('/usr/lib/pymodules/python2.7/mpl_toolkits/')
    from mpl_toolkits.basemap import Basemap

所以这在 ubuntu 14.04 LTS 上对我有用。

here下载并手动安装。确保下载正确的版本(即,如果您是 Python3.6,则下载 basemap‑1.2.0‑cp36‑cp36m‑win_amd64.whl)

参考:

我不使用 Anaconda,而是使用 MacOS,我发现这个解决方案适合我。我想这很简单,应该适用于 Linux 和 MacOs。

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

如果您使用的是 Anaconda,它有一个底图包

conda install basemap

(pip已经没有底图包了)

如果您使用 Ubuntu 系统,您可以尝试

apt install python3-mpltoolkits.basemap

conda install -c anaconda basemap

转到 Anaconda Navigator,搜索 basemap 并单击 应用

在我的案例中有效

sudo apt install python3-mpltoolkits.basemap

经过一天尝试不同的方法后,这对我有用:

conda install -c conda-forge basemap

我遇到了同样的问题。无法导入底图:

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/ 中创建了一个符号 link:

ln -s ../basemap-1.2.1-py3.8-linux-x86_64.egg/mpl_toolkits/basemap/ basemap

我知道这不是一个干净的解决方案,但在某些情况下可能就足够了。

唯一适用于 windows 的解决方案。

从这里下载 wheel 包:https://www.lfd.uci.edu/~gohlke/pythonlibs/#basemap 导航到终端中的下载位置。 使用 pip install

安装

对我来说,一个简单的

pip3 install basemap

成功了。

在 Colab 上,您可能需要将 basemap 模块添加到 mpl_toolkits

!pip install basemap
from mpl_toolkits import basemap

至少,我遇到了同样的问题,这对我有用。

对于Windows:

要安装 basemap,您需要从此路径下载 wheel 文件:

https://www.lfd.uci.edu/~gohlke/pythonlibs/#basemap

对于 python 3.10 这将是文件:

basemap‑1.3.2‑cp310‑cp310‑win_amd64.whl

然后您必须转到保存上述 .whl 文件的文件夹,然后从那里 运行 此命令:

pip install basemap‑1.3.2‑cp310‑cp310‑win_amd64.whl


MacOS请参考:

https://github.com/matplotlib/basemap/releases:

确保你有:

brew install geos
brew install matplotlib
brew install numpy
brew install proj

export GEOS_DIR="/user/local/Cellar/geos/3.10.2/" 添加到您的 .bash 配置文件并通过以下方式重新加载:

source ~/.bash_profile

git clone --depth 1 https://github.com/matplotlib/basemap.git

然后在basemap/packages/basemap目录

pip3 install


对于 Colab,与 Akima 的回答略有不同,因为它已经有一段时间了:

!sudo apt-get install libgeos-3.6.2
!sudo apt-get install libgeos-dev
!pip install git+https://github.com/matplotlib/basemap#subdirectory=packages/basemap

我遇到了麻烦。幸运的是,我解决了这个问题。首先,我建议你设置 Anaconda,如果你没有的话。然后按照以下步骤操作;

  • 在 anaconda 中创建一个新环境。
  • 安装并启动 Jupyter Notebook。如果有效,请将其关闭。
  • 在终端中更改 anaconda 环境。
  • 尝试下面的安装命令; 康达安装底图 康达安装锻造... pip 安装底图