why can't I import geopandas?

不打扰是莪最后的温柔 提交于 2020-05-25 03:29:54

问题


My only line of code is

import geopandas

and it gives me the error

OSError: Could not find libspatialindex_c library file

has anyone encountered this before? my script was working just fine until this error came up.

**Note that rtree module not found was an issue fisrt, and upon installation I received the above error instead.


回答1:


I had the same issue while working in Linux Subsystem at Windows 10 (speaking about this). What helped was installing the version for developers using apt. Namely:

sudo apt install libspatialindex-dev did the job.

I did not need to work with make.

edit: Nice to see my answer has been upvoted so many times; in the time of writing it, however, this was not the most popular answer and it was preceeded by the other answers that suggested using make. This is why I am referring to this command; and I think the other answers are worth reading anyway.




回答2:


If you are using MacOS, it's as simple as follow:

brew install spatialindex
pip install rtree

If you are working on linux environment you have to build this from source:

  1. Install 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
    
  1. install rtree: pip install rtree



回答3:


Linux installation steps for Docker users:

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



回答4:


User DYZ provided the correct answer in the comments.

You need to install spatialindex.

This question should be set to answered so it is not misleading



来源:https://stackoverflow.com/questions/45516181/why-cant-i-import-geopandas

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!