我在fedora 19中使用python.我想运行以下行Python:import shapely.geometry 出现以下错误:
OSError:无法找到或加载任何库geos_c icts of variants ['libgeos_c.so.1','libgeos_c.so']
我安装了Shapely包,以及以下两个库:
的glibc-2.17-4.fc19.i686.rpm
GEOS-3.3.8-2.fc19.i686.rpm
我只是在网上寻找这个问题的解决方案,但我还没找到
请帮我 !
PaF*_*PaF 84
使用pip安装得很整齐,并且遇到了同样的问题.所以我继续安装它:
sudo apt-get install libgeos-dev
Run Code Online (Sandbox Code Playgroud)
它奏效了.我正在运行Ubuntu,所以如果你使用Fedora,你应该运行:
sudo yum install geos-devel
Run Code Online (Sandbox Code Playgroud)
我使用的是 Linux (Red Hat),并且收到此错误:
OSError:/home/[user]/.conda/envs/ox/lib/libgeos_c.so:无法打开共享对象文件:没有这样的文件或目录
什么对我有用:
conda install geos
Run Code Online (Sandbox Code Playgroud)
Shapely通过 ctypes 加载 geos。
在你的 python 中试试这个,看看你是否得到了什么:
from ctypes.util import find_library
find_library('geos_c')
Run Code Online (Sandbox Code Playgroud)
如果它不起作用,那么您的 geos 安装可能会出现问题。据此,你的地理应该在/usr/lib/libgeos_c.so.1. 你的图书馆真的在那里吗?
小智 5
设置LD_LIBRARY_PATH,然后运行python
export LD_LIBRARY_PATH=/path_to/geos/lib:$LD_LIBRARY_PATH
python mytest.py
Run Code Online (Sandbox Code Playgroud)
在 ubuntu 中,以下命令应该处理它。这一切都归结为以下软件包。
(2017 年原创)
sudo apt-get install libgeos-c1 libgeos-3.4.2
Run Code Online (Sandbox Code Playgroud)
编辑:(2020 年更新版本)
sudo apt-get install libgeos-c1v5 libgeos-3.7.1
Run Code Online (Sandbox Code Playgroud)