Ich habe ein ziemlich großes privates Python-Paket, das ich gerade fertiggestellt habe. Ich möchte es als Teil meines Build-Prozesses für eine App in einem Docker-Container installieren (obwohl dies nicht so wichtig ist). Die Paketquelle ist ziemlich groß, daher würde ich idealerweise vermeiden, die gesamte Quelle herunterzuladen / zu behalten.
Im Moment habe ich nur die Paketquelle zusammen mit meiner App weitergegeben, aber das ist unhandlich und hoffentlich vorübergehend. Was ist ein besserer Weg? git Submodul / Unterbaum? Ich bin ziemlich neu dazu.
Wenn Sie github mit einem privaten Repo verwenden, müssen Sie einen SSH-Bereitstellungsschlüssel erstellen und den privaten Schlüssel für Builds zu Ihrem App-Ordner hinzufügen.
pip install git+git://github.com/myuser/foo.git@v123
Alternativ können Sie einen Pip-Cache-Ordner vom Host in den Container einbinden und die Pip-Installation von diesem Ordner ausführen. Sie müssten die Python-Pakete mit Ihrer App im Cache-Verzeichnis behalten.
pip install --no-index --find-links=/my/pip-cache/
Sie können Python-Pakete mit folgendem Befehl in diesen Pip-Cache installieren:
pre pip 9.0.1:
pip install --download pip-cache/ package1 package2
pip 9.0.1+ (Danke für Kommentar @ James Hiew):
pip install download pip-cache/ package1 package2
Sie können das OAuth-Token hier in Github einrichten und den Befehl
verwenden pip install git+https://<your_oauth_token>:[email protected]/myuser/foo.git
Weitere Dokumente hier .
Ich würde es in ein separates privates Repo legen, dann installiere es als eine Anforderung mit pip:
%Vor%Tags und Links python pip docker git-submodules