python3.7安装geopandas什么版本
Python 3.7 安装 GeoPandas,建议固定安装 geopandas==0.10.2。它是 GeoPandas 放弃 Python 3.7 支持前更合适的稳定版本;geopandas>=0.11 不再支持 Python 3.7,当前 1.x 版本也需要更高版本的 Python。旧教程里常见的 0.8.1 可以用于复现老项目,但不应作为 2026 年仍在 Python 3.7 上新装环境的首选。
版本结论:优先选 0.10.2
搜索“python3.7安装geopandas什么版本”时,最直接的判断标准是:先确认解释器是不是 Python 3.7.x,再选择最后一批仍明确兼容 Python 3.7 的 GeoPandas。GeoPandas 官方变更记录显示,0.11 开始放弃 Python 3.7,因此 Python 3.7 环境里应把上限卡在 0.10.x,其中 0.10.2 是更推荐的补丁版本。

可执行判断命令:
python --version
python -m pip show geopandas
如果输出是 Python 3.7.x,安装命令应写成固定版本,而不是直接 pip install geopandas。场景差异是:新项目应升级 Python 到 3.10 或更高后安装新版 GeoPandas;遗留项目必须保留 Python 3.7 时,才建议使用 0.10.2。注意事项是,Python 3.7 已停止官方安全维护,老版 GeoPandas 也不会继续拿到新功能和完整安全修复。
推荐安装方式:Conda 更省事
GeoPandas 依赖 Fiona、Shapely、pyproj、GDAL、PROJ、GEOS 等地理空间库。判断标准不是“pip 能不能下载到包”,而是这些底层二进制库能否一起正常导入、读写文件和投影转换。对 Windows、macOS、公司内网机器、没有编译环境的服务器来说,Conda 或 Mamba 通常更稳。
conda create -n geo37 -c conda-forge python=3.7 geopandas=0.10.2
conda activate geo37
python -c "import geopandas as gpd; print(gpd.__version__)"
如果输出 0.10.2,说明主包安装成功。适合 Conda 的场景包括:需要读写 Shapefile、GeoPackage、GeoJSON,或经常遇到 GDAL、Fiona 编译错误。注意事项是只使用一个主要渠道,建议统一用 conda-forge,不要混用默认源、pip 源和多个第三方源来装同一批地理空间依赖。
Pip 安装:必须固定依赖
如果必须用 pip,建议同时固定 GeoPandas 和关键依赖版本。判断标准是:安装后能导入 geopandas、fiona、shapely、pyproj,并能完成一次坐标转换。Python 3.7 上不要让 pip 自动拉取太新的依赖,因为很多新版本已经提高了 Python 版本要求。
python3.7 -m venv .venv-geo37
source .venv-geo37/bin/activate
python -m pip install "pip<24.1" setuptools wheel
python -m pip install "numpy==1.21.6" "pandas==1.3.5" "shapely==1.8.5.post1" "fiona==1.8.22" "pyproj==3.2.1" "geopandas==0.10.2"
Windows 用户把激活命令换成:
.venv-geo37\Scripts\activate
场景差异是:Linux 服务器如果已有系统 GDAL,pip 可能能工作;Windows 和 macOS 更容易卡在 Fiona/GDAL 编译。注意事项是,pip 24.1 已放弃 Python 3.7 支持,所以 Python 3.7 环境中不要把 pip 升到 24.1 或更高。
版本选择表
| GeoPandas 版本 | Python 3.7 是否建议 | 适用场景 | 注意事项 |
|---|---|---|---|
0.10.2 |
建议 | Python 3.7 遗留项目、生产环境复现、教程环境固定 | 最后阶段兼容 Python 3.7 的实用选择,但不是长期安全方案 |
0.10.0 / 0.10.1 |
可用但不优先 | 项目锁文件已经固定这些版本 | 优先升级到同系列补丁版 0.10.2 |
0.8.1 / 0.8.2 |
仅用于老项目复现 | 复现 2020 年左右的旧代码、旧论文、旧服务器 | 功能和依赖都更旧,不建议新装时主动选择 |
0.11 及以上 |
不建议 | Python 3.8 或更高环境 | 0.11 已放弃 Python 3.7 |
1.x |
不能用于 Python 3.7 | Python 3.10+ 新项目 | 新版 GeoPandas 依赖 Shapely 2、pyogrio 等更新生态 |
安装后验证
只执行 import geopandas 还不够。可执行验证应覆盖三件事:GeoDataFrame 创建、CRS 设置、坐标转换。判断标准是脚本无报错,并且版本号显示为 0.10.2。
python - <<'PY'
import geopandas as gpd
from shapely.geometry import Point
gdf = gpd.GeoDataFrame(
{"id": [1]},
geometry=[Point(116.397, 39.908)],
crs="EPSG:4326"
)
print("geopandas:", gpd.__version__)
print(gdf.to_crs("EPSG:3857").geometry.iloc[0])
PY
场景差异是:如果只做内存中的点线面计算,Shapely 能导入通常就够;如果要读取 Shapefile、GeoPackage,必须额外验证 Fiona/GDAL;如果要做投影转换,必须验证 pyproj/PROJ。注意事项是,to_crs 失败通常不是 GeoPandas 主包问题,而是 pyproj 或 PROJ 数据文件不完整。
常见报错处理
如果报 No matching distribution found for geopandas==0.10.2,先检查 Python 是否真的是 3.7,以及 pip 是否还能正常识别旧版本包。判断标准是 python --version 与 python -m pip --version 指向同一个虚拟环境。注意不要用系统 Python 的 pip 去给另一个 Python 安装包。
如果报 Fiona、GDAL、PROJ 编译错误,场景差异很明确:有编译经验的 Linux 用户可以补系统库;普通用户直接切 Conda 更快。不要在同一个环境里先用 Conda 装 GDAL,再用 pip 强行覆盖 Fiona,这会造成动态库版本不一致。
如果安装成功但 sjoin 或空间索引相关功能报错,说明缺少空间索引依赖。Conda 环境可安装:
conda install -c conda-forge rtree
pip 环境中安装 rtree 可能还需要系统的 libspatialindex。判断标准是执行空间连接时不再提示缺少 rtree 或 pygeos。
是否应该继续用 Python 3.7
如果只是为了跑一个旧脚本,Python 3.7 + GeoPandas 0.10.2 可以接受;如果是新项目、联网服务、数据库写入、长期维护系统,应该升级 Python。Python 官方已在 2023-06-27 结束 Python 3.7 支持,GeoPandas 新版也已经转向更高版本 Python。判断标准是:项目是否需要持续安全更新、是否要部署到生产、是否使用 to_postgis 等数据库写入功能。需要这些能力时,不要把 Python 3.7 当长期方案。
尤其要注意数据库写入场景。GeoPandas 后续版本修复过 to_postgis 相关安全问题,而这些修复版本不再适配 Python 3.7。场景差异是:本地离线分析风险较低;面向用户输入、数据库写入、Web 服务调用的环境风险更高。可执行建议是升级到 Python 3.10 或更高,再安装当前稳定版 GeoPandas。
常见 QA
Python 3.7 可以直接 pip install geopandas 吗?
不建议直接装。更稳的写法是 pip install geopandas==0.10.2,并固定 pandas、shapely、fiona、pyproj 等依赖。直接安装可能因为依赖解析、镜像源缓存或 pip 版本导致结果不一致。
python3.7安装geopandas什么版本最稳?
最稳的通用答案是 geopandas==0.10.2。如果你只是复现很老的代码,才考虑 0.8.1 或 0.8.2;如果是新项目,应该升级 Python 后用新版 GeoPandas。
GeoPandas 0.8.1 还能用吗?
能用于部分旧环境,但不推荐作为首选。它比 0.10.2 更旧,依赖生态也更老。除非项目文档或锁文件明确要求 0.8.1,否则 Python 3.7 优先选 0.10.2。
为什么安装 geopandas 会卡在 Fiona 或 GDAL?
因为 GeoPandas 本身是 Python 包,但 Fiona/GDAL 涉及本地二进制库。Windows、macOS 和无编译环境服务器更容易出错。判断标准是报错中是否出现 gdal-config、GDAL API version、fiona。遇到这类问题,优先改用 conda-forge 安装。
Python 3.7 能安装最新版 GeoPandas 吗?
不能。当前 GeoPandas 1.x 已要求更高版本 Python,PyPI 上的新版不会面向 Python 3.7。必须继续使用 Python 3.7 时,应固定在 0.10.2;想用新功能和安全修复,应升级 Python。
参考文献
- GeoPandas 官方 Changelog:记录 GeoPandas 0.11 放弃 Python 3.7,以及后续版本的 Python 依赖变化。
- PyPI:GeoPandas 0.10.2:可查看该版本的发布信息与
Requires-Python >=3.7元数据。 - PyPI:GeoPandas 最新版本:可查看当前稳定版本及其 Python 版本要求。
- Python.org:Python 3.7.0 Release:说明 Python 3.7 已于 2023-06-27 结束生命周期。
- pyproj 3.2.1 文档:说明 pyproj 3.2.1 的最低 Python 版本要求为 3.7。
原创文章,作者:魏茂晴,如若转载,请注明出处:https://www.wanglitou.cn/article_114146.html
微信扫一扫