Bitte erläutern Sie die Verwendung von Pipfile und Pipfile.lock
Scheint es, dass Pipfile/Pipfile.sperren sind vorgesehen als Ersatz für requirements.txt im Rahmen der Python-Verpackung. Es gibt nicht viel Dokumentation gibt es, wie diese eigentlich funktionieren, jedoch. Ich fand eine sich weiterentwickelnde Beschreibung der pipfile auf der PyPi-Abschnitt der Python-website hier aber es ist ziemlich chaotisch und nicht erklären die Semantik der verschiedenen Abschnitte der Datei.
Irgendwelche Hinweise, zu verstehen, wie diese Dateien?
Dies ist ein direktes Analogon von
(Und ebenso der Unterschied zwischen
Es scheint, wie es bereits im Einsatz in der Heroku "erste Schritte mit Python-repo (github.com/heroku/python-getting-started.git), so wie es oder nicht, wie es scheint, ist productionized.
Gotcha. Das sagte -- die docs schauen ziemlich solide zu mir. Ich weiß nicht, was ich schreiben konnte, in eine Antwort, dass würde nicht einfach werden, bekräftigte Sie.
Was docs beziehen Sie sich?
Gemfile
und Gemfile.lock
aus der Ruby-Welt: Die .lock
Datei hat spezielle Versionen für jede Abhängigkeit; der eine ohne, die Erweiterung hat nur die bekannten-zu-Steuerung-Mensch-Versionen. Das heißt, zu Fragen, für eine Erklärung von etwas, das noch in der Entwicklung und noch weit Weg von gut definierten, deutlich weniger standardisiert ist, ist vielleicht ein bisschen verfrüht.(Und ebenso der Unterschied zwischen
Pipfile
und requirements.txt
ist weitgehend, dass der ehemalige versucht zu verabschieden Funktionen aus der Ruby-Welt, dh. angegeben werden können-Abhängigkeit-sets für mehrere Umgebungen und mit Bedingungen/Optionen/etc. innerhalb einer einzelnen Datei).Es scheint, wie es bereits im Einsatz in der Heroku "erste Schritte mit Python-repo (github.com/heroku/python-getting-started.git), so wie es oder nicht, wie es scheint, ist productionized.
Gotcha. Das sagte -- die docs schauen ziemlich solide zu mir. Ich weiß nicht, was ich schreiben konnte, in eine Antwort, dass würde nicht einfach werden, bekräftigte Sie.
Was docs beziehen Sie sich?
InformationsquelleAutor Stephen | 2017-09-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das Konzept hinter diesen Dateien ist einfach und Analog zu anderen bereits vorhandenen tools, wenn Sie eine gewisse Vertrautheit mit Ruby Bundler oder Knoten Npm. Ein Paket-management-tool
Pipenv
ist mit dem Pipfile und Pipfile.lock-standard.Pipenv ist der Umgang mit der virtuellen Umgebung, für die Sie in einem Standard-standard-Weg (nicht mehr aktivieren und deaktivieren erforderlich). Unten, einige Grundlagen für den Einstieg, sehen Sie mehr an pipenv website.
Erste Schritte
Beginnen mit pipenv ist einfach, in Ihrem Projekt-Ordner geben...
... und wenn es schon eine
requirements.txt
- Datei, erzeugt es einenPipfile
Datei mit den Anforderungen und eine virtuelle Umgebung-Ordner, andernfalls erzeugt es eine leerePipfile
- Datei. Wenn Sie nicht mögen oder Ihre Meinung geändert haben über etwas, dass Sie installiert haben, geben Sie einfach...... und du bist gut zu gehen. Zum aktivieren der virtuellen Umgebung, die pipenv bereits generiert, gehen mit...
... und Ihrer virtuellen Umgebung aktiviert werden. Verlassen der Umgebung...
... und Sie werden wieder auf Ihre ursprüngliche bash - /powershell-Sitzung.
Pipfile
Den Pipfile Datei ist gedacht, um anzugeben, Pakete, die Anforderungen für Ihre Python-Anwendung oder Bibliothek, die beide an der Entwicklung und Ausführung. Sie können ein Paket installieren, indem Sie einfach mit...
... und es wird Hinzugefügt, als eine Abhängigkeit für die Bereitstellung und Ausführung oder durch Verwendung ...
... und es wird verwendet als depencency für die Entwicklung Zeit. Die syntax dieser Datei ist ziemlich straight forward, wie folgt.
Pipfile.lock
Den Pipfile.lock soll angeben, auf der Grundlage der Pakete Pipfile, die spezifische version sollte verwendet werden, vermeiden die Risiken automatisch aktualisieren von Paketen, die voneinander abhängig sind und brechen Sie Ihr Projekt "dependency tree".
Sperren Sie können die aktuell installierte Pakete mit...
... und das tool lookup-Ihre virtuelle Umgebung-Ordner zu generieren, die lock-Datei automatisch für Sie, basierend auf den aktuell installierten Versionen. Die syntax dieser Datei ist nicht so offensichtlich wie für Pipfile , also im Interesse der Prägnanz, es wird nicht hier angezeigt werden.
Noch irgendwelche Zweifel haben? Lassen Sie mich wissen, so kann ich verbessern die Antwort, für andere, von ihm zu lernen. Ich habe bereits migriert, meine Projekte und ich verwende es täglich in meinem job, es ist es Wert 😉
Dies ist eine interessante Antwort, aber ich denke, wenn ich gefragt wurde konnte ich nicht ganz verstehen, was ist damit eigentlich gemeint
[[source]]
, wie ist, dass die Quelle für die Pakete, die heruntergeladen werden sollen, indem pipenv oder etwas anderes? Ich denke, der rest der beiden Dateien ist offensichtlich genug.Ich gebe zu, ich fand es verwirrend, weil ich arbeite an einem tutorial, wo ich haben zu entscheiden, ob der [package]/[dev-Paket] Unterschied ist wichtig, oder wenn ich einfach alles in [Paket]. (Googeln dies ist, was führte mich zu dieser Seite.) Aber nachdem wir beide während putting dev Zeug in [Paket] Art von warf mich. Ich konnte sehen, warum Anfragen sollten in [Paket] obwohl.
Geändert, wie gewünscht, um Verwirrung zu vermeiden, auf die Entwicklung von Paketen, vielen Dank für Ihr Kommentar, hoffe, es ist weniger verwirrend jetzt 🙂
Ich denke, es ist eine gute Idee, wenn Sie wollen, verfolgen Sie diejenigen Pakete, die entlang den source-code der evolution, da die meisten der Pakete version spielte auf
Pipfile
. Wenn etwas kaputt geht auf einem upgrade-Paket ist, sollte man dann in der Lage, es zu beheben, überprüfen Sie die Paket-version der Geschichte, und in der Tat, einer der Schöpfer der Anfragen, die Bibliothek empfehlen, es zu tun hier.InformationsquelleAutor danieldeveloper001