2016-09-07 3 views
2

kann formschön pip installiert nicht Bibliothek geos_c finden oder eine seiner Varianten laden [ ‚libgeos_c.so.1‘, ‚libgeos_c.so‘]OSError wenn sie versuchen, innerhalb Docker Behälter

den Python mit: 3.5.1 image Ich versuche einen Container auszuführen, der unter anderem in requirements.txt formschön installiert ist. Wenn der Andock-Container versucht, formschön zu installieren, erhalte ich den obigen Fehler.

RUN apt-get install libgeos-dev

etwas, das ich das Problem zu suchen, sah versuchen, aber das gibt derzeit kein Paket libgeos-dev

Zusammenfassung zu finden:

erwartete Bedingungen: einschließlich formschön in der Datei "requirements.txt" wird die Datei formlos erstellt, wenn der Andock-Container erstellt wird aktuelle Bedingungen: Eine Fehlermeldung wird während des Builds empfangen Could not find library geos_c or load any of its variants ['libgeos_c.so.1', 'libgeos_c.so']

Schritte zum Reproduzieren:

Verwendung Docker-compose bauen auf

Docker-compose.yml:

app: 
     build: ${APP_REPO} 

Dockerfile:

FROM python:3.5.1-onbuild 

Requirements.txt:

shapely 

(Si mplified zu versuchen, Probleme zu isolieren)

Antwort

1

ich eine Lösung aus gefunden. https://github.com/calendar42/docker-python-geos/blob/master/Dockerfile

ENV PYTHONUNBUFFERED 1 

#### Install GEOS #### 
# Inspired by: https://hub.docker.com/r/cactusbone/postgres-postgis-sfcgal/~/dockerfile/ 

ENV GEOS http://download.osgeo.org/geos/geos-3.5.0.tar.bz2 

#TODO make PROCESSOR_COUNT dynamic 
#built by docker.io, so reducing to 1. increase to match build server processor count as needed 
ENV PROCESSOR_COUNT 1 

WORKDIR /install-postgis 

WORKDIR /install-postgis/geos 
ADD $GEOS /install-postgis/geos.tar.bz2 
RUN tar xf /install-postgis/geos.tar.bz2 -C /install-postgis/geos --strip-components=1 
RUN ./configure && make -j $PROCESSOR_COUNT && make install 
RUN ldconfig 
WORKDIR /install-postgis 

ich dies in meiner dockerfile vor der Zeile kopiert

pip install requirements.txt 

und die wohlgeformten arbeitete installieren.

Es verstummt gelegentlich, aber das Hauptproblem wurde gelöst.

+0

Das sieht richtig aus, aber ich denke, Sie könnten auch ein Rad für das Paket bauen und installieren. – dnephin

+0

Sachen, die ich über Rad-Dateien gefunden habe, als ich anfing, das Problem zu untersuchen, schlug vor, dass sie eine Windows-spezifische Sache waren, ist das nicht wahr? – lathomas64

+0

Es ist überhaupt nicht wahr. Sie sind häufiger unter Windows, weil es für Windows-Benutzer oft schwieriger ist, Dinge zu kompilieren (sie haben nicht immer den gleichen einfachen Zugriff auf einen Compiler), und pypi enthält nur Windows-Räder, glaube ich. Sie können Wheels unter Linux und Osx erstellen und verwenden, aber Sie müssen sie für Ihre Plattform erstellen. – dnephin

Verwandte Themen