Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

why can't I import geopandas?

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.

like image 719
jrowley Avatar asked Aug 04 '17 22:08

jrowley


People also ask

How do you get Geopandas?

To install GeoPandas and all its dependencies, we recommend to use the conda package manager. This can be obtained by installing the Anaconda Distribution (a free Python distribution for data science), or through miniconda (minimal distribution only containing Python and the conda package manager).


4 Answers

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.

like image 62
Vojta F Avatar answered Oct 18 '22 23:10

Vojta F


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
like image 33
Dhia Avatar answered Oct 18 '22 23:10

Dhia


Linux installation steps for Docker users:

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
like image 39
user667489 Avatar answered Oct 18 '22 23:10

user667489


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

like image 34
Worm Avatar answered Oct 18 '22 23:10

Worm