Linux 下安装 Basemap
Basemap 是 Python 可视化库 Matplotlib 下的一个工具包,主要功能是绘制二维地图,对于空间数据的可视化非常重要。虽然现在 Python 很多常用的包都已经囊括在 Anaconda 中了,即便没有,也可以使用 PIP 命令直接快速安装,然而 Basemap 却是例外,它既不在 Anaconda 中,也无法用 PIP 直接安装,因此只能手动安装 Basemap 了。
本文介绍的是在 Linux 环境下 Basemap 的安装,比官方文档更详细一点,可见>> 官方安装介绍。
首先下载 basemap 的软件包,>> 这里可以找到最新版本的源码。
我这里直接右键复制了源码 tar 包的地址,准备使用 wget
命令直接下载,当然也可以点击链接下载相应的包然后上传至 Linux 中。
1)下载安装包并解压
1 2 3 | wget https://github.com/matplotlib/basemap/archive/v1.1.0.tar.gz tar -zxvf v1.1.0.tar.gz |
2)安装依赖库
1 2 3 | cd basemap-1.1.0/ pip install -r requirements.txt |
依赖环境说明文件 requirements.txt
的内容是 pyproj>=1.9.3
和 pyshp>=1.2.0
,因为我们使用的是 Anaconda 的 Python,仅需要这两个依赖库,如果是用系统自带的 Python 安装 Basemap,则还需要安装 matplotlib
和 numpy
这两个基础库。
3)编译安装 GEOS 库
1 2 3 4 5 | cd geos-3.3.3 export GEOS_DIR=/usr/local ./configure --prefix=$GEOS_DIR make; make install |
GEOS 是一个开源的计算处理几何图形空间关系的库,几乎是大多数地理信息、空间分析相关库的底层依赖,在 basemap 安装包里,已经包含了 GEOS 库的源码包,不需要再另行下载。安装 GEOS 库需要进行编译安装,进入 GEOS 的源码目录后,然后用 export
命令设置一个环境变量,声明 GEOS 库的安装路径,这里我们使用的安装目录是/usr/local
,当然也可以指定其他位置。接下来编译安装即可,--prefix
用于指定 GEOS 库的安装路径。
4)安装 basemap
1 2 3 | cd .. python setup.py install |
返回 basemap-1.1.0 目录,使用 setup.py
文件进行安装。
5)测试
1 2 3 | cd examples/ python simpletest.py |
basemap 的安装包里提供了很多示例代码,这里我们试运行 simpletest.py
代码文件,若在终端可输出下面的图,则证明安装成功。
6)如何卸载 basemap
如果要升级 basemap,需要把旧版本的 basemap 卸载,我们来看看如何卸载 basemap。
首先容易想到 pip,但 pip 无法直接卸载 basemap,原因如下
1 2 3 | $pip uninstall basemap Cannot uninstall 'basemap'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall. |
可通过下面的方法来手动卸载 basemap。
进入 basemap 的安装目录,获取安装文件记录,当然也可在最初安装的时候指定:
1 2 3 | cd basemap-1.1.0/ python setup.py install --record record.txt |
然后依照安装记录删掉这些文件(或者打开查看手动按需删除):
1 2 | cat record.txt | xargs rm -rf |
博主您好,我 basemap 下载速度一直很慢,下载下来之后会有解压报错的情况,博主能发一份 basemap 的.tar.gz 文件给我吗?我的邮箱是 2245744550@qq.com,实在搞不定了因此给您留言。
已经发你邮箱,现在 GitHub 网速确实不太好,帮你下载的时候也费了些周折。
AttributeError: ‘module’ object has no attribute ‘pyproj_datadir’ 请问出现这个问题怎么解决?
应该是特定版本不兼容的问题,“With transition to PROJ 6 pyproj was updated to 2.x which no longer provides the pyproj_datadir attribute”,你检查一下各个依赖包的版本对不对,如果对版本要求不高,尽量使用指定版本的包,符合版本要求且尽量接近,不要用太新的版本。
博主您好,我下载的 basemap 包很慢,能否发到邮箱中 346410894@qq.com,谢谢您
已发。
楼主您好,我在下载中也遇到了问题。希望您也能发我邮箱一份。
十分感谢啦!
978262300@qq.com
你好!我费了 4 天功夫,install base 后发现,缺少 pyproj.pY 和 Shapefile.py. 我认为这两个工具应该不是编译产生的,是我下载的包里没有他们。能否把你拥有的这两个文件发我邮箱。谢谢
抱歉,才看到,正常完整下载的安装包不会缺少某个 py 文件的,按你说的,可能是没有先安装 pyproj,pyshp 这两个库,你试试按照文中的步骤安装一下依赖库 pip install -r requirements.txt
博主您好,能发一份 basemap 的.tar.gz 文件给我吗?我的邮箱是 2374995463@qq.com,实在搞不定了因此给您留言。
已发送~