本文主要是介绍Python空间数据计算:2.GeoPandas的几种安装方式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言:
本文多图
如果不想挑战自己的计算机设置能力,请看最后的方法即可
推荐收藏。
上次秀了一把GeoPandas包之后,后台最多的留言就是:这个破包也太难安装了……各种装不上。好吧,我承认,GeoPandas是Python里面比较难安装的包之一。
今天老王就来给大家说说,怎么在裸机的情况下,安装这个包:
PS:我这里说的仅限于Windows系统,如果你是MacOS,或者Linux,有其他的方法。
预先预告:一共有三种方法,从复杂到简单,如果你喜欢折腾,可以选择最复杂的第一种。
1、裸机Python环境下安装geopandas。
先安装一个裸奔版本的Python3.8(3.7也行,但是别太低了,也最好别尝试最新版本,因为最新往往代表还有多包无法更新到支持)。
恩,我这里弄的是一个win7的虚拟机……如果是win10就更简单了……
首先安装这个裸奔版本的Python:
一般我习惯于用自定义,如果省事的话,可以选择加到PATH里面去,如上所示。
实际上在Python3 x比较高的版本里面,也不算全裸奔了……起码pip是有的,这样就方便很多了:(要自己装pip,才叫全裸……)
其他的可以选择默认,一般我的习惯是换个比较好找的路径:
点击安装,等待结束就好了
安装完之后,打开cmd,看看目前有啥:
如果你和我一样,把Python已经加入了PATH里面的话,直接输入Python就可以进入Python环境了
然后看看我们的Python里面,目前就是默认的两个包:
下面开始进入我们安装geopandas的过程:
geopandas是无法直接通过pip安装的,会各种报错,我在这里直接说正确的安装方式。
首先看看geopandas的需求,在pypi网站里面输入geopandas:
在我写这篇文章的时候,最新版本的是0.8.2
进去之后,发现他需要两个前置包,分别是pandas和shapely。
pandas好解决,直接pip搞定:
命令如下:
python -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pandas
注意,-i 表示本次安装使用自定义的镜像,这里我们选择清华的源
可以看见,安装pandas,需要有numpy、six、python-dateutil、pytz四个包,pip自动搞定,而且用清华的源,速度还是想当给力的。
下面直接通过pip 安装shapely:
也很快就能安装好,但是接下去,如果你直接pip geopandas的话,就会出现这个问题:
在安装的时候,会直接报出这个错误:
我把文本都贴出来,为了以后方便查询(图片内容无法进行查询)
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的源码……
我特么要源码干嘛?我只想要一个编译好的,能用的啊有没有!
所以,我们直接去找一个可以用的gdal,
推荐一个超级强大的网站
https://www.lfd.uci.edu/~gohlke/pythonlibs/
这是加州尔湾大学提供的一个编译好的Python包的网站,搞Python的超级宝库。
直接去下载我们需要的,编译好的GDAL包
注意!注意!注意!
不要下载安装最新的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进行离线安装就行:
完美!
然后我们就可以去安装fiona了……注意,不能用pip,因为pip会的是fiona的源码,需要通过VC++来编译,所以我们还是去下一个编译好的fiona包:
然后我们直接在这里下载你需要的指定版本的fiona包:我们是Python3.8下面的64位包:
然后直接用pip命令进行离线安装即可:
完美!
下面,就可以继续用pip安装geopandas了
测试一下:
打完收工……
上面这种方法,特别麻烦,下面介绍几种比较简单方法:
安装anaconda:
安装完成之后,启动anaconda的环境变量:
然后直接输入conda install geopandas
conda会告诉你,需要安装和更新哪些包:
输入一个y之后,然后等待系统自动下载,安装完成,就可以用了……
问题在于conda上面的geopandas版本比较老,是0.6.1的,如果你想用比较新的版本,需要用conda-forge仓库,如下:
conda install -c conda-forge geopandas
(缺点是conda-forge的速度让人发指……)
测试结果如下:(中文显示乱码是anaconda的环境设置的问题,不影响最后使用)
你可以在anaconda下面,用pip去安装最新的geopandas,和在裸奔Python下安装是一样的。
第三种方法:
直接安装ArcGIS(GeoScene) Pro ,然后打开Python,就直接可以用了:
我这里提供的警告,是说我安装了很高版本的PyGEOS,导致版本冲突,不影响使用……
第四种方法:安装QGIS:
安装完了之后,用QGIS自带的Python,就可以直接使用geopandas了:
以上是使用geopandas的四种方法……各有各的好处,也各有各的麻烦和缺点……
请大家按需取用。
打完收工。
真的收工了,没了!
这篇关于Python空间数据计算:2.GeoPandas的几种安装方式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!