Python >> Tutoriel Python >  >> Python

Installation de Shapely sur Alpine Docker

J'ai eu le même problème (ne fonctionnant pas avec la base de données Django et PostGres).

Finalement, j'ai réussi à résoudre ce problème avec la solution d'Amir. J'ai ajouté les référentiels de dl-cdn.alpinelinux.org selon https://github.com/appropriate/docker-postgis/blob/master/Dockerfile.alpine.template. La partie cruciale consistait à exécuter geos-config après l'implémentation de geos-dev et de geos. Après cela, j'ai installé les modules python, y compris les pandas. À la section de nettoyage, .build-deps est ignoré comme indiqué.

C'est la partie de mon Dockerfile qui a fait l'affaire :

...
RUN apk --update add build-base libxslt-dev

RUN apk add --virtual .build-deps \
        --repository http://dl-cdn.alpinelinux.org/alpine/edge/testing \
        --repository http://dl-cdn.alpinelinux.org/alpine/edge/main \
        gcc libc-dev geos-dev geos && \
    runDeps="$(scanelf --needed --nobanner --recursive /usr/local \
    | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \
    | xargs -r apk info --installed \
    | sort -u)" && \
    apk add --virtual .rundeps $runDeps

RUN geos-config --cflags

RUN pip install --disable-pip-version-check -r requirements.txt

RUN apk del build-base python3-dev && \
    rm -rf /var/cache/apk/*
...

Au fait, j'ai également essayé la solution fournie sur https://github.com/calendar42/docker-python-geos/blob/master/Dockerfile. Mais cela n'a pas fonctionné pour moi.