command line

Wie prüfe ich,ob ein Modul in Python installiert ist,und installiere es bei Bedarf

Wie erfahre ich im Terminal,nachdem ich Python gestartet habe,welche Module in Python vorhanden sind? Angenommen,ich muss die Module NumPy und SciPy lernen.

  • Wie kann ich es installieren,wenn es nicht installiert ist?
  • Woran erkenne ich,ob sie bereits installiert ist?

So finden Sie heraus, ob ein Python-Modul im System installiert ist oder nicht: Sie können einen sehr einfachen Test im Terminal durchführen,

$ python -c "import math"
$ echo $?
0                                # Mathematikmodul existiert im System

$ python -c "import numpy"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named numpy
$ echo $?
1                                # numpy-Modul existiert nicht im System

Wie installiere ich es,wenn es nicht installiert ist?

Sie können bestimmte Module installieren, indem Sie die entsprechenden Pakete aus dem Repository herunterladen, zum Beispiel können Sie scipy installieren als,

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3

Alternativ können Sie auch ein Python-Modul mit python-pip installieren, wie von Zack Titan im Kommentar unten vorgeschlagen . Um numpy zu installieren, können Sie verwenden

pip install numpy

Warnung: Es wird dringend empfohlen, Python-Module nur mit dem offiziellen Ubuntu-Repository zu installieren und nicht die pip - Methode als Superuser zu verwenden (dh als root oder mit sudo ). In einigen Fällen kann es Ihr System unbrauchbar machen, indem Systempython beschädigt wird.

So installieren Sie Pakete mit pip in der lokalen virtuellen Umgebung.




Falls wir ein fragliches Modul nicht ungewollt importieren wollen (was in einer try - Anweisung passieren würde), können wir sys.modules verwenden, um installierte und zuvor importierte Module zu testen.

In der Python-Shell-Ausgabe:

>>> import sys

Testen Sie dann,ob Module installiert sind:

>>> 'numpy' in sys.modules
True
>>> 'scipy' in sys.modules
False

Beachten Sie, dass nur die Module, die zuvor importiert wurden, bei diesem Test True ergeben , alle anderen Module (auch wenn sie installiert sind) ergeben False.

Eine weitere Alternative, try eine import - Anweisung in der Python-Konsole auszuprobieren, ist das Aufrufen der eingebauten help() - Funktion. Dies wird keine Dokumentation für nicht installierte Module geben, z

>>> help('scipy')
no Python documentation found for 'scipy'

Die Ausgabe von sehr langen Hilfedokumenten von installierten Modulen kann mitQ.

Um nun fehlende Module zu installieren, wird empfohlen, die Ubuntu-Paketverwaltung (und nicht den Python-Pip-Weg) zu verwenden, da wir Root-Zugriff benötigen und auch um zu verhindern, dass unser stark von Python abhängiges System durcheinander gebracht wird. Für das betreffende Modul wäre dies z. B.:

sudo apt-get install python-scipy ## for Python2
sudo apt-get install python3-scipy ## for Python3

Nach der Installation können wir sie dann zum Wörterbuch sys.modules hinzufügen, indem wir sie einmal importieren.



Schnelles Tool zur Erstellung von Miniatur-Videogalerien für die Kommandozeile
welches Programm ist für die Auswertung der Anmeldedaten zuständig,wenn Sie sich bei der Shell anmelden?
Einrichten des Befehls env für Bash-Skripte
Wie man die URL von einer Firefox-Registerkarte mit der Kommandozeile in das Terminal überträgt
Gibt es eine Möglichkeit,mit mkdir mehrere Verzeichnisse auf einmal zu erstellen
Wie kann ich C#-Code im Ubuntu-Terminal kompilieren,ausführen und dekompilieren?