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:
What can I do to solve the problem?
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
On MACOS you can run:
brew install geos
set the LD_LIBRARY_PATH
, then run python
export LD_LIBRARY_PATH=/path_to/geos/lib:$LD_LIBRARY_PATH
python mytest.py
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
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?
在 Fedora 上安装 geos 和 geos-devel
sudo yum install geos geos-devel
如果您像我一样使用 Anaconda 并遇到此问题,请将 libgeos* 文件从 /usr/lib 复制到 anaconda/lib 目录并重试... :) 希望这可以节省其他人,因为我已经花了几个小时这个。
brew install geos
只是这个安装解决了我的问题。
I had no problem on Jupyter Notebook but when I used PyCharm I encountered this issue. Tried multiple things windows on machine and the below troubleshooting steps fixed the issue
pip install geos
Go to PyCharm, File->Settings->Project->Project Interpreter(Check you have the right path where your python.exe file is there)->Add
Check that, on Virtualenv Environment -> Base Interpreter pointing to the right location where you have the python.exe
Same for System Interpreter->Interpreter And also Pipenv Environment -> Base Interpreter
Make sure all are pointing to the right path. I encountered this problem as I have multiple IDE and hence multiple directories where python.exe is available.They were pointing to incorrect directories.
During the troubleshooting I also uninstalled and re installed conda install shapely
as I am pointing to Anaconda directory from PyCharm. Hope it helps.
Below link is also helpful https://www.jetbrains.com/help/pycharm/installing-uninstalling-and-upgrading-packages.html#conda-package-manager
I am using Linux (Red Hat) and I got this error:
OSError: /home/[user]/.conda/envs/ox/lib/libgeos_c.so: cannot open shared object file: No such file or directory
What works for me:
conda install geos
I had the same problem, and to solve it, you need to add the lib path to ld.so.conf file.
To do this, Open the file:
sudo vi /etc/ld.so.conf
add this line
/usr/local/lib
And then
sudo /sbin/ldconfig
If you have macos
, you should run:
brew install geos
Source distributions
If you want to build Shapely from source for compatibility with other modules that depend on GEOS (such as cartopy or osgeo.ogr) or want to use a different version of GEOS than the one included in the project wheels you should first install the GEOS library, Cython, and Numpy on your system (using apt, yum, brew, or other means) and then direct pip to ignore the binary wheels.
pip install shapely --no-binary shapely
If you've installed GEOS to a standard location, the geos-config program will be used to get compiler and linker options. If geos-config is not on your executable, it can be specified with a GEOS_CONFIG environment variable, eg:
GEOS_CONFIG=/path/to/geos-config pip install shapely
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.