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

 

 

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值