Python空间数据计算:2.GeoPandas的几种安装方式

前言:

本文多图

如果不想挑战自己的计算机设置能力,请看最后的方法即可

推荐收藏。

上次秀了一把GeoPandas包之后,后台最多的留言就是:这个破包也太难安装了……各种装不上。好吧,我承认,GeoPandas是Python里面比较难安装的包之一。

 

fca45155c28641238e64bb5f11c2f66c.png

 今天老王就来给大家说说,怎么在裸机的情况下,安装这个包:

PS:我这里说的仅限于Windows系统,如果你是MacOS,或者Linux,有其他的方法。

预先预告:一共有三种方法,从复杂到简单,如果你喜欢折腾,可以选择最复杂的第一种。

 

1、裸机Python环境下安装geopandas。

19d9faf68fad4de68d248967ef799426.png

 先安装一个裸奔版本的Python3.8(3.7也行,但是别太低了,也最好别尝试最新版本,因为最新往往代表还有多包无法更新到支持)。

9570e1de9e5643afa917fb6e93352945.png

 恩,我这里弄的是一个win7的虚拟机……如果是win10就更简单了……

47fde92be1ef445591463eb50da31867.png

 首先安装这个裸奔版本的Python:

1a87a5987ba0450396564dff91ead707.png

 一般我习惯于用自定义,如果省事的话,可以选择加到PATH里面去,如上所示。

实际上在Python3 x比较高的版本里面,也不算全裸奔了……起码pip是有的,这样就方便很多了:(要自己装pip,才叫全裸……)

1a456588319748afb178c2f116218e8c.png

 其他的可以选择默认,一般我的习惯是换个比较好找的路径:

1900e61da8a847d78edd16076cb4ca0f.png

           点击安装,等待结束就好了

323556c0e32a4712b1616cd336008e90.png

 安装完之后,打开cmd,看看目前有啥:

3b86d0e36acb44bea04d08ff7c072684.png

 如果你和我一样,把Python已经加入了PATH里面的话,直接输入Python就可以进入Python环境了

df41ac0945ce44a2981739fcfc556ffd.png

 然后看看我们的Python里面,目前就是默认的两个包:

a5848d7416d14c528142e9d1a57af894.png

 下面开始进入我们安装geopandas的过程:

geopandas是无法直接通过pip安装的,会各种报错,我在这里直接说正确的安装方式。

 

首先看看geopandas的需求,在pypi网站里面输入geopandas:

在我写这篇文章的时候,最新版本的是0.8.2

3c083ba368da443b86bad0d9381e46b3.png

 进去之后,发现他需要两个前置包,分别是pandas和shapely。

6efe9dd09a5743b1aa3c8faafea6eb08.png

             pandas好解决,直接pip搞定:

3db53f55a433441f8c7236ba3a176728.png

 命令如下:

python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas

 

注意,-i 表示本次安装使用自定义的镜像,这里我们选择清华的源

 

可以看见,安装pandas,需要有numpy、six、python-dateutil、pytz四个包,pip自动搞定,而且用清华的源,速度还是想当给力的。

cbe36ced2a954365a6a0639c0a7e35b3.png

          下面直接通过pip 安装shapely:

beabfee741ec4254abcd8b6ad1f58e96.png

 也很快就能安装好,但是接下去,如果你直接pip geopandas的话,就会出现这个问题:

37a33f5a78964d24921e3c8f5a387220.png

 在安装的时候,会直接报出这个错误:

f5e6e78eb4764d8e8049679b0b47c888.png

 我把文本都贴出来,为了以后方便查询(图片内容无法进行查询)  

ERROR: Command errored out with exit status 1:

     command: 'C:\Python3\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Administrator\\AppData\\Local\\Temp\\pip-install-9sy_118g\\fiona\\setup.py'"'"'; __file__='"'"'C:\\Users\\Administrator\\AppData\\Local\\Temp\\pip-install-9sy_118g\\fiona\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\Administrator\AppData\Local\Temp\pip-pip-egg-info-6f2_bd38'

         cwd: C:\Users\Administrator\AppData\Local\Temp\pip-install-9sy_118g\fiona\

    Complete output (1 lines):

    A GDAL API version must be specified. Provide a path to gdal-config using a GDAL_CONFIG environment variable or use a GDAL_VERSION environment variable.

    ----------------------------------------

ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

重点看最后的错误提示:GDAL

这里就很清楚了,geopandas需要使用fiona包,但是fiona包又需要gdal……

这就是裸体安装的问题了,我们必须手动在系统里面安装GDAL。

(这个东西还是C++写的,你要网上一搜,基本上都是教你去自己编译……当然,要是会编译GDAL的同学,也不用来看这篇文章了)

如果你直接打开gdal的官网,发现他提供的gdal的源码……

5b4a17f958d0492baad545a9b4c838d1.png

 我特么要源码干嘛?我只想要一个编译好的,能用的啊有没有!

c1f95e105c514f669e42fc7b985d3d32.png

 所以,我们直接去找一个可以用的gdal,

推荐一个超级强大的网站

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

e56bc9e4bc894e3a9a5d303d4187e7a9.png

 这是加州尔湾大学提供的一个编译好的Python包的网站,搞Python的超级宝库。

直接去下载我们需要的,编译好的GDAL包

c76e6f0a4e7f4a4993d2b70f3e290f7e.png

 注意!注意!注意!

不要下载安装最新的3.2.1包,因为Fiona目前不支持这个版本的GDAL!(截止到2021年1月29日,fiona1.8.18版本,最高只能支持到3.1.4版本的GDAL包)

所以我们这里一定要下载3.1.4版本的GDAL包!

(我发这篇文章的时候,已经不提供3.1.4的包了……这是一个很悲伤的故事,需要的同学,可以通过邮件和我联系。不过你如果是3.7,我这里就只能提供3.1.3版本的包,恩,用法是一样的。)

下载之后,直接用pip进行离线安装就行:

6ae03ba1b10745b1b951c00b549ac30f.png

 完美!

然后我们就可以去安装fiona了……注意,不能用pip,因为pip会的是fiona的源码,需要通过VC++来编译,所以我们还是去下一个编译好的fiona包:

然后我们直接在这里下载你需要的指定版本的fiona包:我们是Python3.8下面的64位包:

6d2a02ed4cd94554a3fc8ca366a4be70.png

 然后直接用pip命令进行离线安装即可:

b49a0f4208884dbda68007c096464be9.png

 完美!

下面,就可以继续用pip安装geopandas了

7044ae7a2aab487a9197569b2257fa63.png

 测试一下:

b0838b9ae69440a393ce1ff8cd48371d.png

 打完收工……

上面这种方法,特别麻烦,下面介绍几种比较简单方法:

baf4e9f23f0347c4a833a772be1450ea.jpg

 安装anaconda:

556b944ad784418eb82dc5064a837a02.png

 安装完成之后,启动anaconda的环境变量:

d48f62a411a5442fb1b454cdb845cd48.png

然后直接输入conda install geopandas

eb5622c85e154fbd9b8909b0665df01a.png

 conda会告诉你,需要安装和更新哪些包:

2b48e2dbf31e4ce8b710f615c27532ad.png

 输入一个y之后,然后等待系统自动下载,安装完成,就可以用了……

问题在于conda上面的geopandas版本比较老,是0.6.1的,如果你想用比较新的版本,需要用conda-forge仓库,如下:

conda install -c conda-forge geopandas

(缺点是conda-forge的速度让人发指……)

测试结果如下:(中文显示乱码是anaconda的环境设置的问题,不影响最后使用)

9cc30f5bd98e4054b6eab97ecfce6a56.png

 你可以在anaconda下面,用pip去安装最新的geopandas,和在裸奔Python下安装是一样的。

第三种方法:

直接安装ArcGIS(GeoScene) Pro ,然后打开Python,就直接可以用了:

f63d57ece16342099c1c70bc96f4f0b3.png

 我这里提供的警告,是说我安装了很高版本的PyGEOS,导致版本冲突,不影响使用……

第四种方法:安装QGIS:

安装完了之后,用QGIS自带的Python,就可以直接使用geopandas了:

2c830b8885c24c1a8d52c6bd996f7198.png

 以上是使用geopandas的四种方法……各有各的好处,也各有各的麻烦和缺点……

请大家按需取用。

打完收工。

真的收工了,没了!

19c7eca0031340a7842e7cb3abab760b.jpg

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2813177.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

进程与线程之线程

首先exec函数族是进程中的常用函数,可以利用另外的进程空间执行不同的程序,在之前的fork创建子进程中会完全复制代码数据段等,而exec函数族则可以实现子进程实现不同的代码 int execl(const char *path, const char *arg, ... …

SpringMVC 学习(六)之视图

目录 1 SpringMVC 视图介绍 2 JSP 视图 3 Thymeleaf 视图 4 FreeMarker 视图 5 XSLT 视图 6 请求转发与重定向 6.1 请求转发 (Forward) 6.2 重定向 (Redirect) 7 视图控制器 (view-controller) 1 SpringMVC 视图介绍 在 SpringMVC 框架中,视图可以是一个 J…

LeetCode69. x 的平方根(C++)

LeetCode69. x 的平方根 题目链接代码 题目链接 https://leetcode.cn/problems/sqrtx/description/ 代码 class Solution { public:int mySqrt(int x) {int right x, left 0, ans -1;while(left < right){long long mid left (right - left) / 2;if(mid * mid <…

Spark之【基础介绍】

Spark最初是由美国伯克利大学AMP实验室在2009年开发&#xff0c;Spark时基于内存计算的大数据并行计算框架&#xff0c;可以用于构建大型的、低延迟的数据分析应用程序。 Spark是当今大数据领域最活跃、最热门、最高效的大数据通用计算平台之一。 Spark的特点 运行速度快 &am…

如何多环境切换?如何在微服务配置多环境?

问题本质: nacos配置中心的配置是如何被项目读取到的&#xff1f;(nacos的配置中心和项目是如何联系的&#xff1f;) 注意&#xff1a;nacos有配置管理和服务管理&#xff0c;别弄混。自动注册的是服务管理&#xff01;&#xff01;&#xff01; 1. 如何注册到nacos服务管理中心…

LDR6020双盲插音频随便插充电听歌随便插

随着智能手机的普及和功能的日益丰富&#xff0c;手机已经成为我们日常生活中不可或缺的一部分。音乐、电影、游戏等娱乐内容更是丰富了手机的使用体验。而在这其中&#xff0c;音频转接器的作用愈发凸显&#xff0c;特别是在边听边充的场景下&#xff0c;一款高效且便捷的手机…

第三章 VMware虚拟机ubuntu显示屏幕太小,无法自适应解决办法

第三章 VMware虚拟机ubuntu显示屏幕太小&#xff0c;无法自适应解决办法 第一章 Win10系统VM安装Ubuntu1704虚拟机 第二章 Xshell5连接VM中虚拟系统Ubuntu1704 1、VMwar菜单栏上选择 虚拟机->安装 VMware Tools 2、复制VMwareTools-10.1.6-5214329.tar.gz文件到本地目录&…

宏景eHR DisplayFiles 任意文件读取漏洞复现

0x01 产品简介 宏景eHR人力资源管理软件是一款人力资源管理与数字化应用相融合,满足动态化、协同化、流程化、战略化需求的软件。 0x02 漏洞概述 宏景eHR DisplayFiles接口处存在任意文件读取漏洞,未经身份验证攻击者可通过该漏洞读取系统重要文件(如数据库配置文件、系统…

基于uniapp框架的古汉语学习考试系统 微信小程序python+java+node.js+php

1、一般用户的功能及权限 所谓一般用户就是指还没有注册的过客,他们可以浏览主页面上的信息。但如果需要其它操作时&#xff0c;要登录注册&#xff0c;只有注册成功才有的权限。 2、管理员的功能及权限 用户信息的添加和管理&#xff0c;古汉语信息加和管理和学习视频添加和管…

STM32通用定时器输入捕获

通用定时器输入捕获部分框图介绍 通用定时器输入捕获脉宽测量原理 要测量脉宽的高电平的时间&#xff1a;t2-t1&#xff08;脉宽下降沿时间点-脉宽上升沿时间点&#xff09; 假设&#xff1a;递增计数模式 ARR&#xff1a;自动重装载寄存器的值 CCRx1&#xff1a;t1时间点CCRx…

C# 水排序 微信小游戏

来只 水排序谜题启发式搜索方法_水排序解法小程序-CSDN博客 大神的C语言转换成C# 语言&#xff0c;更多的请看原作者&#xff0c;这里直接贴C#代码 using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace ConsoleApp2 {class Pro…

Excel 使用空格或TAB分列

1 选择“数据”>“分列”。 在“文本分列向导”中&#xff0c;选择“分隔符号”>“下一步”。 选择数据的“分隔符”。 例如&#xff0c;“逗号”和“空格”。 可在“数据预览”窗口预览数据。 选择“下一步”&#xff0c;在工作表 目标&#xff0c;在工作表中想显示拆分…

现代化数据架构升级:毫末智行自动驾驶如何应对年增20PB的数据规模挑战?

毫末智行是一家致力于自动驾驶的人工智能技术公司&#xff0c;其前身是长城汽车智能驾驶前瞻分部&#xff0c;以零事故、零拥堵、自由出行和高效物流为目标&#xff0c;助力合作伙伴重塑和全面升级整个社会的出行及物流方式。 在自动驾驶领域中&#xff0c;是什么原因让毫末智行…

10 款数据恢复软件功能和有效性对比(2024 年更新)

数据丢失可能是一种痛苦的经历&#xff0c;无论是由于意外删除、硬件故障还是软件损坏。值得庆幸的是&#xff0c;数字时代带来了强大的数据恢复解决方案。 随着我们进入 2024 年&#xff0c;市场上充斥着旨在有效检索丢失数据的先进软件。在本文中&#xff0c;我们将探讨 2024…

Docker基础篇(六) dockerfile体系结构语法

FROM&#xff1a;基础镜像&#xff0c;当前新镜像是基于哪个镜像的 MAINTAINER &#xff1a;镜像维护者的姓名和邮箱地址 RUN&#xff1a;容器构建时需要运行的命令 EXPOSE &#xff1a;当前容器对外暴露出的端口号 WORKDIR&#xff1a;指定在创建容器后&#xff0c;终端默认登…

YOLOv9中“CBLinear”的结构!

ADown结构出炉啦&#xff0c;收藏起来写论文用&#xff01; 论文链接&#xff1a; YOLOv9: Learning What You Want to Learn Using Programmable Gradient 代码链接&#xff1a;https://github.com/WongKinYiu/yolov9/tree/main 1.代码&#xff1a; 代码路径&#xff1a;yol…

家政小程序有哪些功能 怎么制作

随着人们生活节奏的加快&#xff0c;家政服务变得越来越受到人们的青睐。为了提升家政服务的便捷性和高效性&#xff0c;家政小程序成为了越来越受欢迎的选择。下面具体介绍家政小程序有哪些功能&#xff0c;如何制作。 1. 展示家政服务 在小程序中&#xff0c;上传所有的家政…

Spring-Cloud-Gateway集成Sentinel限流

1&#xff09;gateway添加sentinel相关依赖 <spring-cloud.version>2021.0.1</spring-cloud.version> <spring-cloud-alibaba.version>2021.0.1.0</spring-cloud-alibaba.version><dependencies><!--gateway--><dependency><gro…

STM32 4位数码管和74HC595

4位数码管 在使用一位数码管的时候&#xff0c;会用到8个IO口&#xff0c;那如果使用4位数码管&#xff0c;难道要使用32个IO口吗&#xff1f;肯定是不行的&#xff0c;太浪费了IO口了。把四个数码管全部接一起共用8个IO口&#xff0c;然后分别给他们一个片选。所以4位数码管共…

数字电路 第四章—第三节(同步触发器)

一、同步RS触发器 1、电路组成及逻辑符号 &#xff08;1&#xff09;与非门、构成基本触发器&#xff0c;与非门、是控制门&#xff0c;输入信号、通过控制门进行传送。 &#xff08;2&#xff09;CP称为时钟脉冲&#xff0c;是输入控制信号。 2、工作原理 &#xff08;1&a…