Rufen Sie mit Python eine Liste der in der aktuellen Umgebung installierten Pakete ab

Holen Sie sich eine Liste der installierten Pakete

Möglicherweise möchten Sie eine Liste der Pakete, die in Ihrer Umgebung mit Python installiert sind. Eine Zusammenfassung dessen, was in einem solchen Fall zu tun ist.

Befehlszeile

Wenn Sie nur die Informationen wissen möchten, können Sie Folgendes auf der Konsole tun.

pip freeze
# .. output messages of command (example)
Jinja2==2.7.2
MarkupSafe==0.23
Pygments==1.6
Sphinx==1.2.2
docutils==0.11

Programmierung

Wenn Sie beispielsweise als Liste für einen Code ausgeben möchten. Sie können dies herausfinden, indem Sie den Pip-Code lesen. (Als Referenz pip / command / freeze.py)

from pip.util import get_installed_distributions

skips = ['setuptools', 'pip', 'distribute', 'python', 'wsgiref']
for dist in get_installed_distributions(local_only=True, skip=skips):
    print(dist.project_name, dist.version)

""" output of script
docutils 0.11
Jinja2 2.7.2
MarkupSafe 0.23
Pygments 1.6
Sphinx 1.2.2
"""

Wenn Sie nicht auf pip angewiesen sein wollen

Werfen Sie einen Blick in pip / util.py.

def get_installed_distributions(local_only=True,
                                skip=stdlib_pkgs,
                                include_editables=True,
                                editables_only=False):
    """
    Return a list of installed Distribution objects.

    If ``local_only`` is True (default), only return installations
    local to the current virtualenv, if in a virtualenv.

    ``skip`` argument is an iterable of lower-case project names to
    ignore; defaults to stdlib_pkgs

    If ``editables`` is False, don't report editables.

    If ``editables_only`` is True , only report editables.

    """
    if local_only:
        local_test = dist_is_local
    else:
        local_test = lambda d: True

    if include_editables:
        editable_test = lambda d: True
    else:
        editable_test = lambda d: not dist_is_editable(d)

    if editables_only:
        editables_only_test = lambda d: dist_is_editable(d)
    else:
        editables_only_test = lambda d: True

    return [d for d in pkg_resources.working_set
            if local_test(d)
            and d.key not in skip
            and editable_test(d)
            and editables_only_test(d)
            ]

Schließlich schränke ich die Objekte in pkg_resources.working_set nur nach Bedingungen ein. Wenn Sie also nicht eingrenzen müssen, können Sie sich pkg_resources.working_set ansehen.

import pkg_resources
for dist in pkg_resources.working_set:
    print(dist.project_name, dist.version)

#  output of script
"""
docutils 0.11
Jinja2 2.7.2
MarkupSafe 0.23
pip 1.4.1
Pygments 1.6
setuptools 0.9.8
Sphinx 1.2.2
"""

Recommended Posts

Rufen Sie mit Python eine Liste der in der aktuellen Umgebung installierten Pakete ab
Ruft eine Liste der Dateien in einem Ordner mit Python ohne Pfad ab
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Holen Sie sich eine Liste der mit Python + Selen gekauften DMM-E-Books
So erhalten Sie eine Liste der integrierten Ausnahmen für Python
Ich habe meine Umgebung mit virtualenv isoliert, aber ich bekomme viele Pakete mit Pip-Liste
Zeigen Sie eine Liste der Alphabete in Python 3 an
[Python] Ruft eine Liste der Instanzvariablen ab
[Python] Nur eine Liste der Ordner abrufen
Versuchen Sie, die Thread-Liste der Nachrichten (Abneigung) mit Python zu erhalten.
[Python] Holen Sie sich die Dateien mit Python in den Ordner
Holen Sie sich den Aufrufer einer Funktion in Python
Generieren Sie eine Liste mit der Anzahl der Tage im aktuellen Monat.
Erstellen Sie eine virtuelle Umgebung mit conda in Python
Kopieren Sie die Liste in Python
Holen Sie sich eine Liste der IAM-Benutzer mit Boto3
Erhalten Sie eine Liste der Ergebnisse der Parallelverarbeitung in Python mit Starmap
Arbeiten Sie in einer virtuellen Umgebung mit Python virtualenv.
Lassen Sie uns einen Teil des maschinellen Lernens mit Python berühren
Holen Sie sich mit Poetry eine schnelle Python-Entwicklungsumgebung
Ich habe Pygame mit Python 3.5.1 in der Umgebung von pyenv unter OS X installiert
Holen Sie sich eine Liste der Artikel, die von Benutzern mit Python 3 Qiita API v2 veröffentlicht wurden
Holen Sie sich Ihren aktuellen Standort mit einem USB-GPS-Empfänger
Empfehlung zum Erstellen einer tragbaren Python-Umgebung mit conda
[Python] Ruft die Liste der im Modul definierten Klassen ab
Rufen Sie die aktuellen Standortinformationen und den Benutzeragenten in Python ab
Python: Ruft eine Liste der Methoden für ein Objekt ab
Gruppieren Sie nach aufeinanderfolgenden Elementen einer Liste in Python
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
Versuchen Sie, Python in der mit pipenv erstellten Django-Umgebung auszuführen
Aktualisieren Sie Pakete, die bereits mit pip in der Benutzerumgebung installiert wurden (nicht su).
Entwickelte eine Bibliothek, um die Kindle-Sammlungsliste in Python abzurufen
Discords Python 1.5 oder höher, ich kann keine Liste der Mitglieder erhalten
So entwickeln Sie in einer virtuellen Python-Umgebung [Memo]
So erhalten Sie den letzten (letzten) Wert in einer Liste in Python
Ruft den Index des n-ten größten / kleinsten Werts in der Liste in Python ab
Holen Sie sich eine saubere Python-Entwicklungsumgebung mit pyenv + pipx + Poetry
Ruft den Index des n-ten größten / kleinsten Werts in der Liste in Python ab
Beginnen Sie mit Python! ~ ① Umweltbau ~
Ruft den Wert eines bestimmten Schlüssels bis zum angegebenen Index der Wörterbuchliste in Python ab
Erstellen Sie eine virtuelle Umgebung mit Python!
Rufen Sie die Excel-Liste rekursiv in einem bestimmten Ordner mit Python ab und schreiben Sie sie in Excel.
Erstellen einer virtuellen Umgebung mit Python 3
Liste der von conda installierten Pakete
Holen Sie sich eine Liste der CloudWatch-Metriken und eine Entsprechungstabelle der Einheiteneinheiten mit Python boto
Beginnen Sie mit Python mit Blender
Erstellen Sie mit Anaconda und PyCharm eine Python-Umgebung auf Ihrem Mac
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
[Python] Ermittelt den Rang der Werte in der Liste in aufsteigender / absteigender Reihenfolge
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
Holen Sie sich mit Python zusätzliche Daten zu LDAP
Spiralbuch in Python! Python mit einem Spiralbuch! (Kapitel 14 ~)
Erstellen Sie eine Python-Umgebung auf Ihrem Mac
[Python] Erstellen Sie mit Anaconda eine virtuelle Umgebung
Erstellen einer Python 3.6-Umgebung mit Windows + PowerShell
Holen Sie sich mit Docker eine lokale Umgebung für DynamoDB
Wie bekomme ich Stacktrace in Python?
Holen Sie sich ein Zeichen für Conoha mit Python