操作系统错误:无法找到geos_c.dll或加载其任何变体。

16

我正在尝试使用Shapely,为了满足我的需求,我需要导入“from shapely import geometry”,但是我遇到了错误OSError: Could not find lib geos_c.dll

我尝试通过“pip install geos”来安装geos,但没有任何作用:Requirement already satisfied

pip位置:C:\Users\skoft\AppData\Local\Programs\Python\Python37-32\Scripts\pip.exe

import shapely

from shapely import geometry

OSError: Could not find lib geos_c.dll or load any of its variants ['C:\\Users\\skoft\\AppData\\Local\\Programs\\Python\\Python37-32\\Library\\lib\\geos_c.dll'].

"pip install geos" 没有任何反应,你是指出现了错误吗?还是没有安装成功?在 Windows 上,pip 位于 "scripts" 子目录中。 - Jean-François Fabre
好的,它并没有解决任何问题,我也不确定它是否与这个错误有关。我刚刚尝试了一些东西。 - user9740907
你能够输入 where pip 并发布结果吗? - Jean-François Fabre
需求已经满足:geos在c:\users\skoft\appdata\local\programs\python\python37-32\lib\site-packages(0.2.2)中已安装。 要求已满足:flask在c:\users\skoft\appdata\local\programs\python\python37-32\lib\site-packages(来自geos的1.0.3)中已安装。 需求已经满足:lxml在c:\users\skoft\appdata\local\programs\python\python37-32\lib\site-packages(来自geos的4.3.4)中已安装。 需求已经满足:pillow在c:\users\skoft\appdata\local\programs\python\python37-32\lib\site-packages(来自geos的6.0.0)中已安装。 - user9740907
我找到了一个名为geos的文件夹并将其粘贴到lib中,但没有起作用。也没有找到任何dll文件。 - user9740907
显示剩余4条评论
5个回答

1
在我的情况下,它决定安装 Visual Studio 2015 的 Visual C++,因为在调试 site-packages\shapely\geos.py 文件时,我注意到 DLL 文件被找到但没有加载。最后检查 geos_c.dll 文件的依赖项时发现它需要 MSVCP140.DLL

1
在Python 3.8.5和Windows 10上,我遇到了同样的错误。然后通过conda install shapely解决了我的问题。

1

我在使用Shapely库时,在Windows 10上的Python 3.6版本遇到了同样的问题。我从网上下载了geos_c.dll文件,并将其替换了环境库中的shapely dll文件夹中的文件。替换后的DLL文件夹如下:

env\Lib\site-packages\shapely\DLLs

下载链接:

在线下载 geos_c.dll,然后将其放入您的 lib 目录中。这对我很有效。


1
我遇到了同样的错误。在手动下载https://www.dll-files.com/geos_c.dll.html上的geo_c.dll文件后,将其放置在bin文件夹"C:\Users....\Anaconda3\Library\bin"中,在我的导入语句(from shapely.geometry import Point)成功执行。

0
在Python 3.6.5和Windows 10上,通过osgeo4w项目安装GDAL,并将C:\OSGeo4W64\bin添加到PATH变量中,解决了我的问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接