Windows环境下为Python3.X安装basemap的方法

Python与开源GIS

Windows环境下为Python3.X安装basemap的方法

2017-10-30 作者: xuzhiping 浏览: 3927 次

摘要: 本文Python是3.6版本,尝试多种的basemap的安装方法,但都安装失败,终于在多种尝试后安装成功了。因此将该方法分享大家,不保证一定成功,但供大家参考,同时也把尝试过的其它方法展示出来。 操作的电脑环境: 操作系统:Windows10 Python版本....

本文Python是3.6版本,尝试多种的basemap的安装方法,但都安装失败,终于在多种尝试后安装成功了。因此将该方法分享大家,不保证一定成功,但供大家参考,同时也把尝试过的其它方法展示出来。

操作的电脑环境:

操作系统:Windows10

Python版本:3.6

IDE:Anaconda3/Spyder

安装方法1

首先需要安装basemap,basemap官方文档链接为:http://matplotlib.org/basemap/

我们要先在这里下载: basemap下载地址:https://sourceforge.net/projects/matplotlib/files/matplotlib-toolkits/

有exe格式的安装包,一键搞定很方便。

下载成功,双击安装包basemap-1.0.7.win-amd64-py3.2.exe,等待安装成功。

安装没有成功,说要Python3.2版本。

安装方法2

回到官方文档,继续在官文中寻找帮助。安装帮助 :http://matplotlib.org/basemap/users/installing.html

安装步骤:

1必要的准备:

(1)基本需求要满足

These are external packages which you will need to install before installing basemap.

matplotlib 1.0.0 (or later, download)
Python 2.4 (or later, including Python 3)
matplotlib requires python 2.4 or later (download)
numpy 1.2.1 (or later)
array support for python (download) 

(2)必要的包

GEOS (Geometry Engine - Open Source) library 3.1.1 or later.

Source code is included in the geos-3.3.3 directory. When building from source, must be built and installed separately from basemap (see build instructions below). Included in Windows binary installers.

PROJ4 Cartographic Projections Library.

Patched version automatically built into basemap.

2 安装步骤:

(1)安装前面提到的必要的一些要求,比如Python或者matplotlib等等。

(2)下载适合的basemap版本,并且解压到某个文件夹,并且将当前目录设置为该文件夹。

(3)开始安装GEOS library,如果已经安装,则仅仅需要设置环境变量,然后继续下一步。如果没有安装,则可以采用以下代码进行安装:

cd geos-3.3.3
export GEOS_DIR=
# A reasonable choice on a Unix-like system is /usr/local, or
# if you don't have permission to write there, your home directory.
./configure --prefix=$GEOS_DIR
make; make install

(4)将当前目录重新设置为basemap的目录(basemap-X.Y.Z的目录),然后运行python setup.py install,然后通过from mpl_toolkits.basemap import Basemap检查能否引入包。

(5)运行python simpletest.py检测以下是否正常运行。

但是,安装GEOS library的除了cd比较熟悉,其它的看不懂。通过查找,因为GEOS是针对Linux系统设计的,这个是在Linux的监视器中运行的代码。

安装方法3

首先还是官方文档,在GitHub中找到源代码以及帮助文档。

GitHub中GEOS-3.3.3帮助https://github.com/matplotlib/basemap/tree/master/geos-3.3.3

有README的说明:

Win32
If you use Microsoft Visual C++ (7.1 or later) compiler, you can build
GEOS using NMAKE program and provided makefile.vc files.

If you are building from SVN checkout, first run: autogen.bat
Then:

nmake /f makefile.vc MSVC_VER=1400

where 1400 is version number of Visual C++ compiler, here Visual C++ 8.0
from Visual Studio 2005 (supported versions are 1300, 1310, 1400 and 1500).
The bootstrap.bat step is required to generate a couple of header files.

In order to build debug configuration of GEOS, additional flag DEBUG=1
is required:

nmake /f makefile.vc MSVC_VER=1400 DEBUG=1

由于电脑上没有Microsoft 的VC环境,且说明文档较为抽象,所以只能查找。

通过查找将basemap安装分为了四步:

1.安装VC环境;2.编译安装GEOS;3.为GEOS设置环境变量;4.安装Basemap

由于没有vc的环境,暂时放弃了这种办法。

安装方法4,从Anaconda入手

既然官方文档以及他人安装经验都避不开vc环境,那么能否从Anaconda入手呢,Anaconda既然是一个第三方管理Python包的工具,想必是提供安装basemap的方法。

果然,Anaconda提供类似于pip功能的conda,可以通过在Anaconda Prompt运行:

conda install basemap

结果却是Python2.7,basemap和Python3.6冲突。原来Python3.x是不支持basemap的。

但是市面上大多数Python教材是2.7版本,很多函数已经有了变化,如今看到不支持basemap的信息,一度想要卸载掉Python3.6,安装Python2.7。

但看到这条信息是16年初的,或许现在经过Anaconda团队的不懈努力,支持了呢?

果然,在Anaconda云端找到了安装basemap的方法(支持了):

package:basemap 1.0.8.dev0

linux-64

win-32

win-64

osx-64

To install this package with conda run:

conda install -c conda-forge basemap=1.0.8.dev0

打开Anaconda Prompt,运行上述代码,结果失败。

安装方法5,安装成功

怀着再试试其它方法的心情,找到一个网站,Unofficial Windows Binaries for Python Extension Packages,链接:http://www.lfd.uci.edu/%7Egohlke/pythonlibs/ 意思是提供非官方的Windows环境下Python扩展包。通过CTRL + F 快速找到我们要安装的basemap。

Basemap, a matplotlib toolkit for plotting 2D data on maps based on GEOS.
Requires pyproj.
basemap‑1.1.0‑cp27‑cp27m‑win32.whl
basemap‑1.1.0‑cp27‑cp27m‑win_amd64.whl
basemap‑1.1.0‑cp34‑cp34m‑win32.whl
basemap‑1.1.0‑cp34‑cp34m‑win_amd64.whl
basemap‑1.1.0‑cp35‑cp35m‑win32.whl
basemap‑1.1.0‑cp35‑cp35m‑win_amd64.whl
basemap‑1.1.0‑cp36‑cp36m‑win32.whl
basemap‑1.1.0‑cp36‑cp36m‑win_amd64.whl

basemap后面的1.1.0代表版本,cp36表示Python3.6版本,win代表Windows系统,64指的是64位,而且也讲了,安装这个还需要pyproj,于是同时下载了:

basemap‑1.1.0‑cp36‑cp36m‑win_amd64.whl 和
pyproj‑1.9.5.1‑cp36‑cp36m‑win_amd64.whl

接下来具体说下安装步骤:

1.确认电脑有pip;

2.下载pyproj和basemap

通过连接 http://www.lfd.uci.edu/~gohlke/pythonlibs/下载两个文件:

basemap‑1.1.0‑cp36‑cp36m‑win_amd64.whl

pyproj‑1.9.5.1‑cp36‑cp36m‑win_amd64.whl

3.打开命令提示符,将当前目录设置为下载文件所在的目录:cd d:/Tool/basemap。

4.安装pyproj和basemap

pip install pyproj‑1.9.5.1‑cp36‑cp36m‑win_amd64.whl

pyproj安装好之后继续安装basemap:

pip install basemap‑1.1.0‑cp36‑cp36m‑win_amd64.whl

竟然提示Successfully installed basemap-1.1.0,安装成功。

from mpl_toolkits.basemap import Basemap

成功import 了basemap,是成功了。

再次试验一下,运行一下basemap的sample

cd D:\Tools\basemap\basemap-1.0.7\examples
python simpletest.py

得到了图:

尝试各种方法,终于安装basemap成功。

随机推荐

Copyright © 2014-2019 OSGeo中国中心 吉ICP备05002032号

Powered by TorCMS