Liste der tatsächlichen Namen in Python importieren

8

Mit "pip freeze" erhalte ich eine Liste von Paketnamen. z.B.:

%Vor%

Gibt es eine Möglichkeit, eine Liste der tatsächlichen Namen an import zu erhalten? z.B. anstelle von djangorestframework = & gt; rest_framework

    
kharandziuk 15.06.2016, 09:23
quelle

3 Antworten

3

Ja, top_level.txt ist ein korrekter Modulname. Sie können das Modul pkg_resources verwenden, um Metadaten aus Paketen zu extrahieren.

Python-Code dafür:

%Vor%     
doomatel 15.06.2016, 10:48
quelle
6

Sie können das Standardmodul pkgutil verwenden, um die Liste der Importe auf oberster Ebene zu erhalten das:

%Vor%

Das wird nur Module finden, die in normalen Dateien, Zip-Dateien oder einem anderen Loader leben, der Modul-Enumeration unterstützt. Sollte die meisten von ihnen auf einem Standard-System sein.

Das Ergebnis ist eine Liste von 3-Tupeln mit dem Loader, dem Modulnamen und ob es ein einzelnes Modul oder ein Paket ist. Wenn Sie nur an dem Modulnamen interessiert sind, tun Sie einfach:

%Vor%     
spectras 15.06.2016 09:41
quelle
1

Eine andere Möglichkeit ist, die erste Zeile dieser Datei zu betrachten:

%Vor%     
Ken 15.06.2016 09:44
quelle

Tags und Links