2016-08-09 56 views
3

Ich habe eine Weile an einem Python-Projekt gearbeitet, das ziemlich viele Bibliotheken von Drittanbietern verwendet. Ich möchte mein Projekt auf einem anderen Server bereitstellen, aber ich weiß nicht im Innersten, welche Projekte, die ich verwende und durch jede Zeile Quellcode gräme, zu viel Arbeit wären.Auflisten von Bibliotheken von Drittanbietern im Projekt

Gibt es eine Möglichkeit, eine Liste von Drittanbieter-Module in meinem Projekt zu generieren, damit ich diese mit PIP-Installer verwenden kann? Vielen Dank für Ihre Hilfe

pip install -r dependencies.txt # <-- I need to generate this file from a project 
+0

Werfen Sie einen Blick auf die Antworten auf [diese] (http://Stackoverflow.com/q/2875232/3165737) SO Frage. –

Antwort

1

Ich schrieb ein Python-Modul, das dies stattdessen tut, da ich es nicht finden konnte. Der Quellcode ist unter GitHub verfügbar. Sie können es wie so installieren:

$ pip install pip-module-scanner 

Mit es ziemlich einfach ist, für die vollständige Verwendungsbeispiele die GitHub Repo überprüfen.

$ pip-module-scanner 
foo==0.0.1 
bar==2.0.0 
2

Vorausgesetzt, dass Sie eine virtuelle Umgebung verwenden Ihre Abhängigkeiten von den weltweit installierten pip Pakete getrennt zu halten, sollten Sie in der Lage sein Pip freeze Befehl zu verwenden, etwa so:

pip freeze > dependencies.txt 

Wenn Sie noch keine virtuelle Umgebung verwendet haben, müssen Sie wahrscheinlich den Quellcode durchsuchen, um die Module zu finden. Eine virtuelle Umgebung ist ein Mittel, um Ihr Python-Projekt von der globalen Umgebung isoliert zu halten. Dies bedeutet, dass Sie nur Module importieren können, die in dieser Umgebung installiert sind, und nur Module enthalten, die für das entsprechende Python-Projekt relevant sind. Ich empfehle, dass Sie auf Virtual Environments nachlesen, sie sind sehr nützlich für größere Projekte.

+0

Calling 'pip freeze' scheint auch alle Kernmodule aufzulisten, ich brauche nur eine Liste von Drittanbietern – Paradoxis

+0

Sie können entweder die Liste bereinigen oder pip bekannte ignorieren lassen. Im Allgemeinen ist es ratsam, mit Packaets und Versionen so genau wie möglich zu sein, um sicherzustellen, dass es gut läuft. – frlan