python中geopandas库安装出现各种问题的解决办法

 更新时间:2024年11月18日 11:17:02   作者:空之箱大战春日影  
这篇文章主要介绍了关于python中geopandas库安装出现各种问题的解决办法,总结了在Windows下两种安装geopandas库的方法,方法一是在新环境下使用conda命令安装,方法二通过离线安装GDAL、Fiona、Pyproj、Rtree、Shapely五个库,再用pip安装geopandas,需要的朋友可以参考下

前言

地理信息相关数据的处理是一种很常见的需求,开源python库geopandas提供了方便的地理空间数据操作工具。其强大功能受到了众多GIS开发者的厚爱。奈何geopandas库太难安装了,第一次安装这个库的朋友或多或少会遇到一些奇奇怪怪的问题!

对于一般的python库,只需一条conda命令或者pip命令即可成功安装使用。但是对于geopandas,无论是使用conda install geopandas还是pip install geopandas都会出现问题!要么安装不了库,要么安装了库却无法使用!

本文结合自身经验,总结了在Windows环境下两种安装geopandas库的方法,并用anaconda工具在python3.9版本下测试均可成功安装并使用。需要提前安装anaconda管理工具!

方法一、在新环境下使用conda命令安装

对于一个现有的环境,想要使用conda命令直接安装geopandas成功的概率是非常低的。经过互联网搜索,发现在anaconda下创建一个新环境后立刻使用conda命令安装geopandas就能成功。

此方法原理目前未知,但实测能成功安装并使用geopandas,其步骤如下:

1.打开anaconda prompt并新建环境

使用create命令新建一个名为test的环境,并指定python版本为3.9(推荐使用3.9以上的python版本,因为支持3.9以下的有些GIS相关的库whl文件不好找了):

conda create --name test python=3.9

创建新环境完毕后,可以使用以下命令查看所建环境是否在环境列表中:

conda env list

激活进入新环境:

conda activate test

2.安装geopandas

创建test环境完毕并激活后,立刻使用install命令安装geopandas(如果在这之前安装其他的库,尤其是pandas、numpy和matplotlib,很可能导致geopandas安装失败):

conda install geopandas

安装完毕后,使用conda list geopandas查看库是否安装成功。如能正确显示版本信息,即安装成功:

在anaconda下,使用python命令进入python解释器,使用import geopandas测试能否正确导入库。如果没有显示报错信息,则导入成功:

至此,geopandas已经安装成功了。还可以使用几条简单代码测试其功能是否能正常使用,因本人测试简单功能没有问题,这里就不再赘述了。

有一点值得一提。geopandas有很多依赖库。除了numpy和pandas等这种基本的数学库外,还有GDAL、Fiona、Pyproj、Rtree、Shapely等地理相关的库。但是用此方法安装的geopandas没有Fiona和Rtree库!为了防止使用一些功能时出现问题,建议单独安装FionaRtree库。单独安装库的方法见方法二

方法二、通过whl离线安装

先离线安装GDAL、Fiona、Pyproj、Rtree、Shapely五个库,再用pip install geopandas即可。

1.离线安装五大依赖库

将GDAL、Fiona、Pyproj、Rtree、Shapely五个库的whl文件从网上下载到本地,下载地址:https://github.com/cgohlke/geospatial-wheels。

这里需要注意一个问题,一定要下载对版本,首先要从文件名看懂信息。例如对于文件GDAL-3.8.4-cp39-cp39-win_amd64.whl,3.84表示GDAL库的版本,cp39表示对应python3.9的whl文件,win_amd64表示windows64位系统。前面之所以推荐用3.9以上的python版本,是因为支持3.8python以下的whl文件该网站上已经没有了!

我的版本是python3.9,我的五个库使用的版本可以参考如下:

版本
gdal3.8.4
fiona1.9.5
pyproj3.6.1
rtree1.2.0
shapely2.0.5

将五个库的whl文件下载到本地后按照GDAL、Fiona、Pyproj、Rtree、Shapely的顺序进行pip离线安装。

打开anaconda prompt,进入需要安装geopandas库的环境,假设其环境名为test。

conda activate test

找到下载的GDAL文件,右键,选择复制文件地址,获得该文件的绝对地址 “C:\Users\26514\Downloads\GDAL-3.8.4-cp39-cp39-win_amd64.whl” ,使用pip命令进行安装:

pip install "C:\Users\26514\Downloads\GDAL-3.8.4-cp39-cp39-win_amd64.whl"

稍作等待后安装,可用conda list GDAL来验证是否安装成功,出现如下信息后表示安装成功:

另外四个库的安装方法和GDAL相同,按次序重复操作即可,这里就不做赘述。

2.使用pip命令安装geopandas

安装好上面五个库后,可以在相同环境中使用pip命令安装geopandas了:

pip install geopandas

三、导入测试

成功安装好geopandas后,可以在python中import测试是否可以成功导入geopandas、GDAL、Fiona、Pyproj、Rtree、Shapely这几个库。例如我在pycharm的控制台中,使用import geopandas来测试geopandas能否正常导入,其他包同理。

有一点需要注意,除了GDAL库以外,其他包的import应该会没有问题。但若使用import GDAL时,会出现报错。别慌!这是GDAL库的问题,我们只需要把命令改成from osgeo import gdal,再测试如果没有报错则万事大吉!

最后导入六个包的正常情况如下:

总结 

到此这篇关于python中geopandas库安装出现各种问题的解决办法的文章就介绍到这了,更多相关python geopandas库安装问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python 数据结构之旋转链表

    Python 数据结构之旋转链表

    这篇文章主要介绍了Python 数据结构之旋转链表的相关资料,需要的朋友可以参考下
    2017-02-02
  • Python使用MapReduce编程模型统计销量

    Python使用MapReduce编程模型统计销量

    MapReduce是面向大数据并行处理的计算模型、框架和平台,是一种计算引擎,可以把我们对大批量数据的计算通过抽象成map与reduce两个子任务进行计算从而更快的得到想要的结果
    2022-04-04
  • Anaconda下安装mysql-python的包实例

    Anaconda下安装mysql-python的包实例

    今天小编就为大家分享一篇Anaconda下安装mysql-python的包实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python函数返回值实例分析

    Python函数返回值实例分析

    这篇文章主要介绍了Python函数返回值,实例分析了Python中返回一个返回值与多个返回值的方法,需要的朋友可以参考下
    2015-06-06
  • OpenCV使用KNN完成OCR手写体识别

    OpenCV使用KNN完成OCR手写体识别

    这篇文章主要为大家介绍了OpenCV使用KNN完成OCR手写体识别示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-05-05
  • Python实现双X轴双Y轴绘图的示例详解

    Python实现双X轴双Y轴绘图的示例详解

    这篇文章主要介绍了如何利用fig.add_subplot和axes.twinx().twiny()方法实现双X轴双Y轴绘图,文中的示例代码讲解详细,快跟随小编一起动手尝试一下吧
    2022-04-04
  • Python3连接SQLServer、Oracle、MySql的方法

    Python3连接SQLServer、Oracle、MySql的方法

    这篇文章较详细的给大家介绍了Python3连接SQLServer、Oracle、MySql的方法,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2018-06-06
  • Python Flask token身份认证的示例代码(附完整代码)

    Python Flask token身份认证的示例代码(附完整代码)

    在Web应用中,经常需要进行身份认证,以确保只有授权用户才能访问某些资源,本文主要介绍了Python Flask token身份认证的示例代码,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • Python利用redis-py实现集合与有序集合的常用指令操作

    Python利用redis-py实现集合与有序集合的常用指令操作

    这篇文章我们将来学习 redis-py 这个模块针对 “集合” 与 "有序集合"的一些常用指令操作,文中的示例代码讲解详细,需要的可以参考一下
    2022-09-09
  • matplotlib.subplot()画子图并共享y坐标轴的方法

    matplotlib.subplot()画子图并共享y坐标轴的方法

    Matplotlib的可以把很多张图画到一个显示界面,本文主要介绍matplotlib.subplot()画子图并共享y坐标轴的方法,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05

最新评论