2017-04-27 7 views
15

Ich begann mit der Arbeit an Python. Ich habe die Dateien "anforderung.txt" und "setup.py" in meinem Projekt hinzugefügt. Aber ich bin immer noch verwirrt über die beiden Dateien. Ich habe einige Informationen wie setup.py ist für weitervertreibbare Dinge und die requirements.txt ist für nicht weiterverteilbare Dinge konzipiert. Aber ich weiß nicht, ob es richtig ist oder nicht.requirements.txt vs setup.py

Kann mir bitte helfen.

+0

hi @lucy Willkommen bei SO ... Sie müssen ein [Mvce] erstellen (https://Stackoverflow.com/help/mcve) –

+0

Haben Sie im Internet mit Ihrem genauen Titel gesucht? [Dieser Artikel] (https://caremad.io/posts/2013/07/setup-vs-requirement/) (der erste Treffer, als ich suchte) ist das Beste, was ich zu diesem Thema gelesen habe. – Chris

+1

Dieser Artikel könnte nützlich sein: https://caremad.io/posts/2013/07/setup-vs-requirement/ (Entschuldigung, zu faul, wesentliche Dinge in eine richtige Antwort zu extrahieren). Eine andere Sache ist, dass einige Tools (z. B. Tests) ihre Vorurteile gegenüber dem einen oder anderen haben - aber lassen Sie sich nicht stören, wenn Sie gerade angefangen haben, an Python zu arbeiten. – drdaeman

Antwort

10

requirements.txt

Dies hilft Ihnen, Ihre Entwicklungsumgebung einzurichten. Programme wie pip können verwendet werden, um alle Pakete, die in der Datei aufgelistet sind, auf einen Schlag zu installieren. Danach können Sie mit der Entwicklung Ihres Python-Skripts beginnen.

setup.py

Dies ermöglicht Ihnen, Pakete zu erstellen, die Sie verteilen können. Dieses Skript soll Ihr Paket installieren, nicht um Ihre Entwicklungsumgebung vorzubereiten, wie es pip -r < requirements.txt tut. Weitere Details zu setup.py finden Sie unter this answer.

Die Abhängigkeiten Ihres Projekts sind in beiden Dateien aufgeführt.

+0

In welchen Fällen hätte ich nur einen von ihnen? In welchem ​​hätte ich beides? –

+1

Ähm ... Sie schreiben nur zum Spaß auf Ihrem lokalen Rechner: Weder. Script wird auf mehreren Maschinen/vitualenvs entwickelt, aber nicht neu verteilt: requirements.txt. Das Skript wird nur auf Ihrem Computer entwickelt, sollte jedoch neu verteilt werden: setup.py. Das Skript wird in mehreren Umgebungen neu verteilt und entwickelt: Beides. – AndreasT

+0

Könnten Sie das zur Antwort hinzufügen? –

Verwandte Themen