web-dev-qa-db-fra.com

Impossible de trouver la bibliothèque geos_c ou de charger l'une de ses variantes.

J'utilise python dans Fedora 19. Je voulais exécuter la ligne suivante Python: import shapely.geometry L'erreur suivante apparaît:

OSError: impossible de trouver ou de charger des bibliothèques géos_c icts de variantes ['libgeos_c.so.1', 'libgeos_c.so']

J'ai installé le paquet Shapely et les deux bibliothèques suivantes:

glibc-2.17-4.fc19.i686.rpm

geos-3.3.8-2.fc19.i686.rpm

Je viens de chercher la solution de ce problème sur le Web, mais je n'ai pas trouvé

Aidez-moi, s'il vous plaît !

46
user2947767

Installé galbé en utilisant pip, et avait le même problème. Alors je suis allé de l'avant et l'ai installé comme suit:

Sudo apt-get install libgeos-dev

Et ça a fonctionné. J'utilise Ubuntu, donc si vous êtes sur Fedora, vous devriez lancer:

Sudo yum install geos-devel
72
PaF

définissez LD_LIBRARY_PATH, puis exécutez python

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

python mytest.py

3
test44

Sur Fedora, installez geos et geos-devel

Sudo yum install geos geos-devel
3
Bob Baxley

Shapely charge des géos via des types

Essayez ceci dans votre python et voyez si vous obtenez quelque chose: 

from ctypes.util import find_library
find_library('geos_c')

Si cela ne fonctionne pas, votre installation de géos est probablement foirée. Selon this , votre géos devrait être en /usr/lib/libgeos_c.so.1. Votre bibliothèque est-elle réellement là? 

2
Seth

Si vous utilisez Anaconda comme je le suis et que vous rencontrez ce problème, copiez les fichiers libgeos * de/usr/lib dans le répertoire anaconda/lib et essayez à nouveau ... :) J'espère que cela sauvera quelqu'un d'autre, car j'ai passé des heures sur ce.

1
Nick

Dans Ubuntu, les commandes suivantes devraient en prendre soin .. Tout se résume aux paquets suivants.

Sudo apt-get install libgeos-c1 libgeos-3.4.2
1
Paco Bahena

J'ai eu le même problème, et pour le résoudre, vous devez ajouter le chemin de la bibliothèque au fichier ld.so.conf.

Pour ce faire, ouvrez le fichier:

Sudo vi /etc/ld.so.conf

ajouter cette ligne

/usr/local/lib

Et alors

Sudo /sbin/ldconfig
0
Devdatta Tengshe