2017-01-26 2 views
0

Ich lese diese dockerfile für letsencrypt auf Alpine:pip installieren letencrypt, hwo weiß ich, welche Pakete benötigt werden?

https://github.com/CognitiveScale/lets-alpine/blob/master/Dockerfile

Wie ich weiß, wenn ich nur pip mit apk oder sogar apk-get auf ubuntu instlalled, sollten nicht auch die Paket-Manager andere herunterladen benötigte Bibliotheken für pip um zu arbeiten? Warum muss diese Liste von Bibliotheken in der Dockerdatei eingegeben werden?

RUN apk add --update \ 
    python python-dev py-pip \ 
    gcc musl-dev linux-headers \ 
    augeas-dev openssl-dev libffi-dev ca-certificates dialog \ 
    && rm -rf /var/cache/apk/* 

ich dies frage, weil, wenn ich Bilder auf alpine Basis erstellt werden soll, wie ich alle benötigten Libs wissen werde?

Antwort

1

Diese Alpine-Pakete werden nicht für pip selbst benötigt, vermutlich werden sie benötigt, um die Python-Module zu erstellen, die Sie später mit pip installieren werden.

Sie müssen Modulbeschreibungen lesen, um ihre Abhängigkeiten zu bestimmen. Alternativ können Sie der Route "Versuch und Irrtum" folgen und die erforderlichen Alpine-Pakete hinzufügen, wenn einige Python-Module nicht erstellt werden können.

+0

aber sollte nicht pip kümmern sich um die Abhängigkeiten benötigt, um die Module zu bauen? –

+0

Python-Abhängigkeiten - ja, Betriebssystemabhängigkeiten - nein. Nun, sollte oder sollte nicht eine Meinung sein; Unabhängig davon können OS-Pakete nicht installiert werden. – mustaccio

Verwandte Themen