Could not find library geos_c or load any of its variants

元气小坏坏 提交于 2019-11-26 19:55:35

问题


I use python in fedora 19. I wanted to run the following line Python: import shapely.geometry the following error appears:

OSError: Could not find or load any library geos_c icts of 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

I just looked for the solution of this problem on the web, but I have not found

Please, help me !


回答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



回答2:


set the LD_LIBRARY_PATH, then run python

export LD_LIBRARY_PATH=/path_to/geos/lib:$LD_LIBRARY_PATH

python mytest.py



回答3:


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?




回答4:


On Fedora install geos and geos-devel

sudo yum install geos geos-devel



回答5:


If you're using Anaconda like I am and ran into this, copy the libgeos* files from /usr/lib to the anaconda/lib directory and try again... :) Hopefully this saves someone else, cause I have spent hours on this.




回答6:


In ubuntu, the following commands should take care of it. It all goes down to the following packages.

sudo apt-get install libgeos-c1 libgeos-3.4.2



回答7:


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 shapelyas 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




回答8:


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


来源:https://stackoverflow.com/questions/19742406/could-not-find-library-geos-c-or-load-any-of-its-variants

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