1277 Stimmen

Wie erhalte ich eine Liste der lokal installierten Python-Module?

Wie erhalte ich eine Liste der auf meinem Computer installierten Python-Module?

13voto

stuudent Punkte 352

Sehr einfache Suche mit pkgutil.iter_modules

from pkgutil import iter_modules
a=iter_modules()
while True:
    try: x=a.next()
    except: break
    if 'searchstr' in x[1]: print x[1]

12voto

Qiau Punkte 5358

Ich stieß auf eine benutzerdefinierte installierte Python 2.7 auf OS X. Es benötigt X11, um installierte Module aufzulisten (sowohl mit Hilfe und pydoc).

Um alle Module auflisten zu können, ohne X11 zu installieren, habe ich pydoc als http-Server laufen lassen, d.h.:

pydoc -p 12345

Dann ist es möglich, Safari direkt zu http://localhost:12345/ um alle Module zu sehen.

10voto

Daniel F Punkte 12908

Warnung: Adam Matan rät von dieser Verwendung in pip > 10.0 ab. Lesen Sie auch den Kommentar von @sinoroc unten

Dies wurde inspiriert durch Adam Matans Antwort (die akzeptierte):

import tabulate
try:
  from pip import get_installed_distributions
except:
  from pip._internal.utils.misc import get_installed_distributions

tabpackages = []
for _, package in sorted([('%s %s' % (i.location, i.key), i) for i in get_installed_distributions()]):
  tabpackages.append([package.location, package.key, package.version])

print(tabulate.tabulate(tabpackages))

die dann eine Tabelle in Form von

19:33 pi@rpi-v3 [iot-wifi-2] ~/python$ python installed_packages.py
-------------------------------------------  --------------  ------
/home/pi/.local/lib/python2.7/site-packages  enum-compat     0.0.2
/home/pi/.local/lib/python2.7/site-packages  enum34          1.1.6
/home/pi/.local/lib/python2.7/site-packages  pexpect         4.2.1
/home/pi/.local/lib/python2.7/site-packages  ptyprocess      0.5.2
/home/pi/.local/lib/python2.7/site-packages  pygatt          3.2.0
/home/pi/.local/lib/python2.7/site-packages  pyserial        3.4
/usr/local/lib/python2.7/dist-packages       bluepy          1.1.1
/usr/local/lib/python2.7/dist-packages       click           6.7
/usr/local/lib/python2.7/dist-packages       click-datetime  0.2
/usr/local/lib/python2.7/dist-packages       construct       2.8.21
/usr/local/lib/python2.7/dist-packages       pyaudio         0.2.11
/usr/local/lib/python2.7/dist-packages       tabulate        0.8.2
-------------------------------------------  --------------  ------

Dadurch können Sie leicht erkennen, welche Pakete Sie mit und welche ohne sudo .


Eine Anmerkung am Rande: Ich habe festgestellt, dass ich, wenn ich ein Paket einmal über sudo und einmal ohne, hat die eine Vorrang, so dass die andere nicht aufgeführt wird (es wird nur ein Ort angezeigt). Ich glaube, dass dann nur derjenige im lokalen Verzeichnis aufgeführt wird. Dies könnte verbessert werden.

9voto

Shreyas Punkte 357

Für den Fall, dass Sie eine anaconda python distribution installiert ist, können Sie auch

$conda list

zusätzlich zu den oben beschriebenen Lösungen.

8voto

jdsantiagojr Punkte 456

Abgesehen von der Verwendung von pip freeze Ich habe Folgendes installiert Dotter in meinen virtuellen Umgebungen.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X