Wir haben einige interne Bibliotheken, die wir getrennt haben (aus verschiedenen Gründen, meist administrativ oder um die Möglichkeit zu haben, sie später leicht zu öffnen). Sie leben in privaten Github-Repositories, wenn das wichtig ist.
Ich möchte eine App für Heroku bereitstellen, um es auszuprobieren. Es hängt von einer dieser Bibliotheken ab.
Ich sollte meine Abhängigkeiten in der requirements.txt angeben. Das ist einfach für die PyPI-installierbaren Sachen, aber was mache ich für diese internen Abhängigkeiten?
Ich könnte entweder meinen eigenen PyPI-Mirror ausführen, der dieses Zeug hat, oder ich könnte editierbare Pakete verwenden (obwohl die Dokumentation besagt, dass sie in der Produktion nicht verwendet werden sollten).
Was ist der richtige Weg?
GitHub ermöglicht die HTTP-Standardauthentifizierung für Git-Repos.
Sie können also eine Zeile wie folgt hinzufügen:
%Vor%Und alles wird richtig funktionieren:)
In requirements.txt
können Sie Folgendes erwähnen.
git+git://github.com/kracekumar/blaze.git
Inzwischen können Sie die Bibliothek klonen und eine virtuelle Umgebung erstellen und im env installieren. Heroku-Entwicklungscenter enthält Artikel mit virtuellem env-Setup.
Sie können sagen, "-e git + ssh: //git@.../PIL#egg=PIL" anstelle von "PIL" in Ihre requirements.txt-Datei schreiben und von dort holen.
Dies würde jedoch erfordern, dass Sie irgendwie den privaten ssh-Schlüssel angeben, der von heroku beim Ziehen verwendet werden soll.
Dafür gibt es ein Buildpack: Ссылка
Mach das:
%Vor%Fügen Sie nun gthub den angegebenen ssh-Schlüssel hinzu und Sie können diese "git + [email protected]" -Abhängigkeiten bei der Bereitstellung in Heroku verwenden.