为啥我不能导入 geopandas?

Posted

技术标签:

【中文标题】为啥我不能导入 geopandas?【英文标题】:why can't I import geopandas?为什么我不能导入 geopandas? 【发布时间】:2018-01-12 22:42:11 【问题描述】:

我唯一的代码行是

import geopandas

它给了我错误

OSError: Could not find libspatialindex_c library file

有人遇到过这种情况吗?在出现此错误之前,我的脚本运行良好。

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

【问题讨论】:

您需要安装spatialindex。 github.com/libspatialindex/libspatialindex/wiki/… 谢谢!这解决了我的问题。 【参考方案1】:

Docker 用户的 Linux 安装步骤:

RUN apt-get update
RUN apt-get install -y --fix-missing curl autoconf libtool automake
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

【讨论】:

【参考方案2】:

我在 Windows 10 的 Linux 子系统中工作时遇到了同样的问题(about this)。使用apt开发人员 安装版本有帮助。即:

sudo apt install libspatialindex-dev 完成了这项工作。

我不需要使用make

编辑:很高兴看到我的回答被多次投票;然而,在撰写本文时,这并不是最流行的答案,它之前是建议使用make 的其他答案。这就是我提到这个命令的原因;而且我认为其他答案无论如何都值得一读。

【讨论】:

有任何 centos 的空间索引包吗?【参考方案3】:

如果你使用的是 MacOS,那么简单如下:

brew install spatialindex
pip install rtree

如果您在 linux 环境下工作,则必须从 source 构建它:

    安装空间索引

    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
    
    安装rtree:pip install rtree

【讨论】:

这在我的 Mac 上为我工作,过了一段时间,试图找到解决方案(包括在 rtree 中编辑 core.py 文件)我非常感激。我 conda 安装了 geopandas,pip 安装了 osmnx,brew 安装了 spatialindex,pip 卸载了 rtree,然后 pip 安装了 rtree,它工作了。 遗漏了一步:需要先运行./autogen.sh,然后才能运行./configure【参考方案4】:

用户 DYZ 在 cmets 中提供了正确答案。

您需要安装spatialindex。

此问题应设置为已回答,以免误导

【讨论】:

以上是关于为啥我不能导入 geopandas?的主要内容,如果未能解决你的问题,请参考以下文章

我很困惑,为啥我必须单独导入函数,如果我导入整个库,这些函数不能导入

为啥我不能导入我刚刚安装的包?

为啥除了 jnius 我不能导入任何 pyjnius 的东西?

为啥我不能从 Spyder 导入 scikit-learn,但我可以从命令行导入?

为啥我不能将 apache.thrift 导入 IntelliJ 项目?

为啥我不能第二次将组件导入 VUE?