Ich verwende Python in Fedora 19. Ich wollte die folgende Zeile ausführen:
import shapely.geometry
aber der folgende Fehler erscheint:
OSError: Could not find library geos_c or load any of its variants ['libgeos_c.so.1', 'libgeos_c.so']
Ich habe das Paket Shapely und die folgenden zwei Bibliotheken installiert:
- glibc-2.17-4.fc19.i686.rpm
- geos-3.3.8-2.fc19.i686.rpm.
Was kann ich tun, um das Problem zu lösen?
Antworten:
Mit pip formschön installiert und hatte das gleiche Problem. Also habe ich es so installiert:
Und es hat funktioniert. Ich verwende Ubuntu. Wenn Sie also Fedora verwenden, sollten Sie Folgendes ausführen:
quelle
sudo yum install geos-devel
brew install geos
Setze das
LD_LIBRARY_PATH
und starte dann Pythonquelle
In Ubuntu sollten die folgenden Befehle dafür sorgen. Alles hängt von den folgenden Paketen ab.
(Original 2017)
sudo apt-get install libgeos-c1 libgeos-3.4.2
EDIT: (aktualisierte Versionen 2020)
sudo apt-get install libgeos-c1v5 libgeos-3.7.1
quelle
Shapely Lasten GEOS über ctypes .
Versuchen Sie dies in Ihrer Python und sehen Sie, ob Sie etwas bekommen:
from ctypes.util import find_library find_library('geos_c')
Wenn es nicht funktioniert, ist Ihre Geos-Installation wahrscheinlich durcheinander. Laut dieser sollte Ihr GEOS sein
/usr/lib/libgeos_c.so.1
. Ist Ihre Bibliothek tatsächlich da?quelle
None
). Unter Linux/sbin/ldconfig -p
sucht Python nach Bibliotheken (Sie können diesen Befehl ausführen und nach Libgeos suchen). Ich würde vermuten, dass Ihrem Geos-RPM eine Abhängigkeit fehlt oder nicht richtig installiert wurde.from ctypes.util import find_library find_library('geos_c')
Und es kehrte zurück,'libgeos_c.so.1'
so dass es aussieht, als wäre es da ...Installieren Sie auf Fedora Geos und Geos-Devel
quelle
Wenn Sie Anaconda wie ich verwenden und darauf gestoßen sind, kopieren Sie die libgeos * -Dateien aus / usr / lib in das Verzeichnis anaconda / lib und versuchen Sie es erneut ... :) Hoffentlich spart dies jemand anderen, da ich Stunden damit verbracht habe diese.
quelle
OSError: Could not find lib geos_c or load any of its variants ['/Library/Frameworks/GEOS.framework/Versions/Current/GEOS', '/opt/local/lib/libgeos_c.dylib'].
wenn ich versuche, mein Skript auszuführen. Das Seltsame war, dass die Installation über Brew genug war, damit Pip anfing zu arbeiten.conda install geos
und danach funktionierte die Pip-Installation in meiner Conda-Umgebung einwandfrei.Ich hatte kein Problem mit Jupyter Notebook, aber als ich PyCharm verwendete, trat dieses Problem auf. Versucht mehrere Dinge Windows auf dem Computer und die folgenden Schritte zur Fehlerbehebung haben das Problem behoben
Gehen Sie zu PyCharm, Datei-> Einstellungen-> Projekt-> Projektinterpreter (Überprüfen Sie, ob Sie den richtigen Pfad für Ihre python.exe-Datei haben) -> Hinzufügen
Überprüfen Sie dies in Virtualenv Environment -> Base Interpreter und zeigen Sie auf die richtige Stelle, an der Sie die Datei python.exe haben
Gleiches gilt für System Interpreter-> Interpreter und auch Pipenv Environment -> Base Interpreter
Stellen Sie sicher, dass alle auf den richtigen Pfad zeigen. Ich bin auf dieses Problem gestoßen, da ich mehrere IDE und damit mehrere Verzeichnisse habe, in denen python.exe verfügbar ist. Sie haben auf falsche Verzeichnisse verwiesen.
Während der Fehlerbehebung habe ich auch deinstalliert und neu installiert,
conda install shapely
da ich von PyCharm auf das Anaconda-Verzeichnis zeige. Ich hoffe es hilft.Der folgende Link ist auch hilfreich: https://www.jetbrains.com/help/pycharm/installing-uninstalling-and-upgrading-packages.html#conda-package-manager
quelle
Ich hatte das gleiche Problem, und um es zu lösen, müssen Sie den lib-Pfad zur Datei ld.so.conf hinzufügen.
Öffnen Sie dazu die Datei:
füge diese Zeile hinzu
Und dann
quelle