Could not find library geos_c or load any of its variants
I use Python in Fedora 19. I wanted to run the following line:
import shapely.geometry
but the following error appears:
OSError: Could not find library geos_c or load any of its variants ['libgeos_c.so.1', 'libgeos_c.so']
I installed the package Shapely, and the following two libraries:
- glibc-2.17-4.fc19.i686.rpm
- geos-3.3.8-2.fc19.i686.rpm.
What can I do to solve the problem?
Solution 1:
Installed shapely using pip, and had the same problem. So I went ahead and installed it like so:
sudo apt-get install libgeos-dev
And it worked. I'm running Ubuntu, so if you're on Fedora, you should run:
sudo yum install geos-devel
Solution 2:
set the LD_LIBRARY_PATH
, then run python
export LD_LIBRARY_PATH=/path_to/geos/lib:$LD_LIBRARY_PATH
python mytest.py
Solution 3:
In ubuntu, the following commands should take care of it. It all goes down to the following packages.
(Original 2017)
sudo apt-get install libgeos-c1 libgeos-3.4.2
EDIT: (updated versions 2020)
sudo apt-get install libgeos-c1v5 libgeos-3.7.1
Solution 4:
Shapely loads geos via ctypes.
Try this in your python and see if you get anything:
from ctypes.util import find_library
find_library('geos_c')
If it doesn't work, then your geos installation is probably messed up. According to this, your geos should be in /usr/lib/libgeos_c.so.1
. Is your library actually there?
Solution 5:
On Fedora install geos and geos-devel
sudo yum install geos geos-devel