23

当尝试在我的 Windows 64 位计算机上安装 Shapely 时,我无法让 GEOS 库工作。

到目前为止,我已经运行了安装 GDAL 的 OSGeo4W 安装程序(我相信 geos 库包含在该软件包中)。之后,我检查并在我的C:\OSGeo4W\bin目录中有 geos_c.dll,但要么我错过了一些配置步骤,要么该库不起作用。

我需要 Shapely 才能工作,所以我pip install shapely在安装 GDAL 后也运行了,它显然可以工作(尽管它找不到 GEOS 的 C 库)。

在我的代码中,我可以导入 Shapely,但是当我尝试使用它时,我收到一条错误消息,告诉我"geos.dll"找不到。

对此的任何帮助将不胜感激。谢谢!

4

6 回答 6

21

Anaconda/Miniconda 用户应该安装 Shapely(和依赖项):

conda install shapely

截至 2020 年,其他 Python 用户可以使用 pip 从 PyPI 安装二进制轮子:

pip install shapely

(添加二进制轮时,您可能需要--upgrade至少获得 1.7.0 版本。)请注意,二进制轮不适用于 Windows 上的 Python 2。


从 python.org 安装 Python 的 Windows 用户的另一个资源,Christoph Gohlke 维护了一个优秀的 Python 非官方 Windows 二进制文件池。下载适用于 32 位或 64 位版本 Python的Shapely Wheels ,其中包括 GEOS 依赖项。

于 2013-07-25T05:02:50.440 回答
6

在这里查看我的答案https://stackoverflow.com/a/50623996/1683626

在 Windows 10 上,python 3.6.5 64 位

  • 安装osgeo4w
  • 将安装的文件夹添加到路径,例如 C:\OSGeo4W64\bin(必须包含 geos_c.dll)
  • 重启命令行
于 2018-05-31T12:13:43.823 回答
4

这里有一个可用的 Shapely 版本,其中包含安装程序中的地理信息。查看页面底部。

于 2012-11-25T16:58:01.247 回答
2

我尝试了@jozef 的方法,但即使我将文件夹导入路径也失败了。

一个简单的解决方案:将 geos_c.dll、geos.dll 添加到 python 环境的库文件夹中。然后它工作。

于 2020-08-04T01:34:41.807 回答
1

我使用了下面的命令,它确实有效;

pip install Shapely==1.3.0

于 2019-12-06T16:39:58.237 回答
1

我已经从https://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal为GDAL(和 Fiona,在我的情况下;可能不需要)安装轮子 提供 geos_c.dll 的路径没用。也不将它们放入 venv/Lib。

于 2021-03-24T12:50:42.683 回答