神农尝百草---Windows环境下为Python3.X安装basemap

2023-05-16

basemap是matplolib的一个插件,提供了许多将地理位置(如经度和纬度)转化为二维matplotlib图的方式,是地图数据可视化的重要工具。

本人Python是3.6版本,尝试了诸多种安装basemap的方法,都安装失败,内心无比的心塞和崩溃。好在皇天不负苦心人,在尝尽百草之后,终于安装成功了。因此决定将该方法分享出来,不保证一定成功,但供大家参考,同时也把尝试过的其它方法展示出来。

首先声明下本人的PC环境:
- 操作系统:Windows10
- Python版本:3.6
- IDE:Anaconda3/Spyder

目录:

    • 一 殊途同归不一样的失败
      • 官方文档安装方式1安装包
      • 官方文档安装方式2 帮助文档
      • 退而求次先解决Windows安装GEOS的问题
      • 另开一路从Anaconda入手
    • 二 安装成功 春风得意马蹄疾

先说尝试失败的安装,本人尝试失败并不代表方法错误,都是人家成功的例子。如果希望直接看到本人安装成功的步骤,请直接跳转至最后。

一、 殊途同归,不一样的失败

宝宝心里苦,各种方法都以失败告终,本人这些是尝试都失败了,但确实是别人成功的安装心得,也写出来,不知道对大家是否有用。

1 官方文档安装方式1——安装包

需要安装basemap,有问题当然先找官方,于是打开了
basemap官方文档链接:http://matplotlib.org/basemap/

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

一看,很开心,有exe格式的安装包,一键搞定岂不“爽歪歪”。
basemap

苦苦等待终于下载成功,双击安装包basemap-1.0.7.win-amd64-py3.2.exe,等待成功的到来。
这里写图片描述

我擦,说要Python3.2版本,竟然没有 找到,好吧,我服。

思考:
本人并未佐证,仅仅是猜测失败原因:
1.可能的确是版本的原因,安装其它版本的Python,如相对更加成熟的Python2.7会更加容易成功。
2.可能因为本人是通过Anaconda集成的Python环境安装的。

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版本,并且解压到某个文件夹,并且将当前目录设置为该文件夹。
(2)开始安装GEOS library,如果已经安装,则仅仅需要设置环境变量,然后继续下一步。如果没有安装,则可以采用以下代码进行安装:

cd geos-3.3.3
export GEOS_DIR=<where you want the libs and headers to go>
# 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的监视器中运行的代码。【此处省略一个撞墙的表情】

思考:
失败原因:个人pc的操作系统是Windows系统,上述方法适用于Linux系统。

3 退而求次,先解决Windows安装GEOS的问题

首先还是官方文档,在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安装的博客,譬如说:
《绘制地图库Basemap的安装与使用》http://blog.sina.com.cn/s/blog_6ab074c30102w1an.html
将basemap安装分为了四步:

  • 安装VC环境
  • 编译安装GEOS
  • 为GEOS设置环境变量
  • 安装Basemap

具体步骤请移至该博客,还是一样,没有vc的环境,暂时放弃了这种办法。

思考:
失败原因:pc没有Microsoft visual c++环境,并且对于这种安装方式比较陌生,估计对于c++的熟悉用户很容易安装成功。

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,运行上述代码,等待。。。等待。。。等来了失败。/(ㄒoㄒ)/~~

官方提供的安装方式都无法成功,这可如何是好?卸载Python3.6装更加成熟的Python2.7,还是装上Microsoft visual c++环境?

思考:
失败原因:对这种方法缺乏深入地理解,选用Python2.7会更加容易安装。

二、 安装成功 —春风得意马蹄疾

怀着再试试其它方法的心情,找到一个网站,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  

install basemap

竟然提示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

大功告成,一阵捯饬,尝试各种方法,终于苦尽甘来,安装basemap成功。
再看看其他的例子:
basemap Example

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

神农尝百草---Windows环境下为Python3.X安装basemap 的相关文章

随机推荐

  • 使用脚本重启WSL(ubuntu)。

    1 创建 重启脚本文件 bat cmd 编辑脚本 xff0c 输入 xff1a net stop LxssManager net start LxssManager 保存关闭 2 运行脚本 脚本运行需要管理员权限 解决方法 xff1a xf
  • C# winform treeview GDI+流程连线 流程图 树形流程图

    C winform treeview GDI 43 流程连线 流程图 树形流程图 TreeView Paint的方法呈现效果 xff0c 具体如下 1 点击连线按钮开始准备连线 2 点击第一个连线的起始节点 3 再点击第二个连线的结束节点
  • 使用STM32寄存器点亮LED流水灯

    目录 一 什么是寄存器GPIO 二 使用寄存器点亮LED灯1 建立工程模板1 1 建立相关文件1 2 建立工程1 3 配置环境 2 配置GPIO端口2 1 配置时钟使能2 2 初始化结构体2 3 配置输入输出模式 3 主要函数3 1 led
  • frp内网穿透—将kali代理在公网中进行渗透测试

    文章目录 前言Frp简介准备工具实现内网穿透frp服务端配置frp客户端配置 测试HTTP服务测试ssh服务测试反弹shell测试 注意 前言 由于工作常需要用到kali xff0c 但是公网服务器并没有安装kali镜像 xff0c 本地只
  • 最小二乘法解的矩阵形式推导

    最小二乘法解的矩阵形式推导 首先 xff0c 什么是最小二乘 xff1f 维基百科给出了一个定义 xff0c 戳这里 在我看来 xff0c 最小二乘法是一种数据拟合方法 我们从矩阵的角度来理解 xff1a 首先我们给出一个矩阵中的定义 xf
  • pytesseract识别数字

    针对工程需求精度不够 xff0c 目前只能识别率为86 左右 用tesseract的深度学习可能会好一点 xff0c 没搞懂怎么用 xff1f 单张图片 import cv2 import numpy as np import matplo
  • Arduino利用NTPClient库获取网络时间,显示时间与实时时间不同步

    网络时间协议 xff08 Network Time Protocol xff0c NTP xff09 是用来使计算机时间同步化的一种协议 xff0c 它可以 使计算机对其服务器或时钟源 xff08 如石英钟 xff0c GPS等等 做同步化
  • 【C++】链表反转逆序|建立、删除、修改、插入|linux内核链表与普通链表

    目录 C 43 43 实现链表逆序 链表的建立 删除 修改 插入 linux内核链表与普通链表 C 43 43 实现链表逆序 实现链表逆序 xff0c 首先要有一个链表 xff0c 下面是链表的结构体 xff1a typedef struc
  • https 自签名SSL证书

    介绍 TLS或称传输层安全性 xff0c 及其前身SSL xff08 代表安全套接字层 xff09 是用于将正常流量包装在受保护的加密包装中的Web协议 使用这种技术 xff0c 服务器可以在服务器和客户端之间安全地发送流量 xff0c 而
  • Gitlab安装及配置

    主要内容 xff1a 使用docker运行 gitlab xff1b 配置LDAP及邮箱 xff1b 配置管理员账号 xff1b 配置邮箱通知 xff1b 关闭用户注册 xff1b 安装 我们使用docker来安装Gitlab xff0c
  • windows 文件夹正在使用 “操作无法完成,因为其中的文件夹或文件已在另一程序中打开“ 解决办法

    解决办法 xff1a 右键状态栏 gt 任务管理器 gt 性能 gt 打开资源监视器 gt CPU gt 在 关联的句柄 处搜索被占用的文件夹名称 现象 解决办法 第1步 第2步 第3步 例如搜索 test 第4步 右键找到占用的程序 第5
  • Windows服务器更新服务的配置-client

    0x01 WSUS客户端 wsus客户端可以使windows的各种系统 windows7 8 10 server 无须安装任何软件 0x02 客户端配置 wsus客户端通过配置本地组策略来实现 运行中输入 xff1a gpedit msc
  • Anime4K:目前最热的开源实时动漫放大算法,Github上一周收获2600星!

    点击我爱计算机视觉标星 xff0c 更快获取CVML新技术 今天跟大家介绍一款动漫画面放大算法Anime4K xff0c 目前最热的开源 实时 视频动漫放大算法 https github com bloc97 Anime4K 一周内该库在G
  • 统计学:离散型和连续型随机变量的概率分布

    主要随机变量一览表 随机变量概率分布均值方差一般离散型变量 p x 的 表 公 式 或 者 图 x x p x x x 2 p x 二项分布 p x 61 C x n p x
  • Stata基本功能及其函数实现

    Stata简介 xff1a Stata使用简单 xff0c 功能强大 xff0c 是数据分析中常用的统计计量软件 本人使用的是Stata14 xff0c 如若需要 xff0c 可评论留言 xff01 1 Stata基本描述 1 1主窗口 如
  • MySQL安装过程问题:服务器名无效,发生系统错误 5 拒绝访问

    1 服务器名无效 安装好MySQL之后 xff0c 使用CMD系统命令程序 xff0c 输入命令启动MySQL xff0c 提示 服务器名无效 原因1 xff1a 服务器名字错误 解决方法 检查命令行中服务器名是否正确 xff0c MySQ
  • R语言基础画图/绘图/作图

    R语言基础画图 R语言免费且开源 xff0c 其强大和自由的画图功能 xff0c 深受广大学生和可视化工作人员喜爱 xff0c 这篇文章对如何使用R语言作基本的图形 xff0c 如直方图 xff0c 点图 xff0c 饼状图以及箱线图进行简
  • 【网站】IIS配置/搭建PHP环境的网站教程

    原文 xff1a https www fujieace com php iis html 今天一位群友想新搞一个万能门店小程序网站 xff0c 由于他的服务器上面已经存在了很多的老站 xff0c 用的IIS6 0服务 xff0c 现在这个网
  • MySQL数据库事务处理

    事务处理用于有效记录某机构感兴趣的业务活动 xff08 称为事务 xff09 的数据处理 xff08 例如销售 供货的定购或货币传输 xff09 通常 xff0c 联机事务处理 OLTP 系统执行大量的相对较小的事务 百度百科 事务处理是将
  • 神农尝百草---Windows环境下为Python3.X安装basemap

    basemap是matplolib的一个插件 xff0c 提供了许多将地理位置 xff08 如经度和纬度 xff09 转化为二维matplotlib图的方式 xff0c 是地图数据可视化的重要工具 本人Python是3 6版本 xff0c