You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Shapely导入geometry时遇OSError:无法找到geos_c.dll求助

解决Shapely导入时找不到geos_c.dll的问题

我之前在32位Python环境下也踩过完全一样的坑!给你几个亲测有效的解决思路:

方法1:卸载重装Shapely(优先推荐)

单独安装geos包其实没什么用,因为Shapely本身已经依赖GEOS库,直接pip装的geos可能和Shapely版本不兼容,或者没匹配上32位Python的架构。试试完全卸载后重装Shapely:

  • 先执行卸载命令:
    pip uninstall -y shapely geos
    
  • 然后清除缓存重新安装Shapely,确保拿到适配32位Python的版本:
    pip install shapely --no-cache-dir
    

重装后Shapely会自带正确的geos_c.dll,一般就能解决路径匹配问题。

方法2:手动添加GEOS库的路径到环境变量

如果方法1没用,先找到geos_c.dll的实际位置——它大概率在Shapely的安装目录里,比如C:\Users\skoft\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\shapely\DLLs。

你可以选择两种方式:

  • 临时在代码开头添加路径(不用修改系统环境变量):
    import os
    # 替换成你实际的DLL存放路径
    os.environ['PATH'] += r';C:\Users\skoft\AppData\Local\Programs\Python\Python37-32\Lib\site-packages\shapely\DLLs'
    from shapely import geometry
    
  • 或者把这个路径添加到系统的PATH环境变量里,这样所有Python脚本都能自动找到这个DLL。

方法3:手动放置geos_c.dll到指定路径

错误提示里显示程序在找C:\Users\skoft\AppData\Local\Programs\Python\Python37-32\Library\lib\geos_c.dll,你可以:

  1. 找到你的geos_c.dll文件(比如从Shapely的DLL目录里复制)
  2. 如果Library\lib目录不存在,手动创建这个路径
  3. 把geos_c.dll粘贴到这个目录里,再重新执行导入语句。

内容的提问来源于stack exchange,提问作者user9740907

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.13 08:44:51