为啥我不能导入 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,但我可以从命令行导入?