为什么我不能导入geopandas?

jro*_*ley 21 python gis geopandas

我唯一的代码是

import geopandas
Run Code Online (Sandbox Code Playgroud)

它给了我错误

OSError: Could not find libspatialindex_c library file
Run Code Online (Sandbox Code Playgroud)

有没有人遇到过这个?我的脚本工作正常,直到出现此错误.

**请注意,未找到rtree模块是一个问题fisrt,安装后我收到了上述错误.

Voj*_*a F 15

在Windows 10的Linux子系统中工作时,我遇到了相同的问题(谈论此问题)。帮助使用该版本的开发人员安装了该版本apt。即:

sudo apt install libspatialindex-dev 做好了

我不需要与一起工作make

编辑:很高兴看到我的答案被否决了很多次;然而,在撰写本文时,这不是最受欢迎的答案,并且它之前还建议使用make。这就是为什么我指的是这个命令。我认为其他答案仍然值得一读。


Dhi*_*aTN 13

如果您使用的是MacOS,它就像下面这样简单:

brew install spatialindex
pip install rtree
Run Code Online (Sandbox Code Playgroud)

如果您正在使用linux环境,则必须从源代码构建它:

  1. 安装spatialindex

    curl -L https://github.com/libspatialindex/libspatialindex/archive/1.8.5.tar.gz | tar xz
    cd libspatialindex-1.8.5/
    ./autogen.sh
    ./configure
    make
    sudo make install
    sudo ldconfig
    
    Run Code Online (Sandbox Code Playgroud)
  1. 安装rtree: pip install rtree

  • 这对我来说在我的Mac上工作了很长一段时间后,试图找到一个解决方案(包括在rtree中编辑core.py文件)我非常感激.我conda安装了geopandas,pip安装了osmnx,brew安装了spatialindex,pip卸载了rtree,然后pip安装了rtree,它工作正常. (2认同)
  • 遗漏了一个步骤:需要先运行 ./autogen.sh 才能运行 ./configure 。 (2认同)

use*_*489 5

Docker用户的Linux安装步骤:

RUN apt-get update
RUN apt-get install -y --fix-missing curl autoconf libtool
RUN curl -L https://github.com/libspatialindex/libspatialindex/archive/1.8.5.tar.gz | tar -xz
RUN cd libspatialindex-1.8.5 && ./autogen.sh && ./configure && make && make install && ldconfig
Run Code Online (Sandbox Code Playgroud)


Wor*_*orm 1

用户DYZ在评论中给出了正确答案。

您需要安装空间索引

这个问题应该设置为有答案,这样才不会产生误导