GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie setze ich im Python-Skript PYTHONPATH?

Sie können Umgebungsvariablen über os.environ abrufen und setzen :

import os
user_home = os.environ["HOME"]

os.environ["PYTHONPATH"] = "..."

Da Ihr Interpreter jedoch bereits läuft, hat dies keine Auswirkungen. Verwenden Sie besser

import sys
sys.path.append("...")

das ist das Array, das Ihr PYTHONPATH hat wird beim Start des Interpreters umgewandelt.


Wenn Sie sys.path.append('dir/to/path') eingeben ohne zu prüfen, ob es bereits hinzugefügt wurde, könnten Sie in sys.path eine lange Liste erstellen . Dafür empfehle ich Folgendes:

import sys
import os # if you want this directory

try:
    sys.path.index('/dir/path') # Or os.getcwd() for this directory
except ValueError:
    sys.path.append('/dir/path') # Or os.getcwd() for this directory

Sie legen PYTHONPATH nicht fest , fügen Sie Einträge zu sys.path hinzu . Es ist eine Liste von Verzeichnissen, die nach Python-Paketen durchsucht werden sollten, also können Sie einfach Ihre Verzeichnisse an diese Liste anhängen.

sys.path.append('/path/to/whatever')

Genau genommen sys.path wird initialisiert, indem der Wert von PYTHONPATH geteilt wird auf das Pfadtrennzeichen (: auf Linux-ähnlichen Systemen ; unter Windows).

Sie können Verzeichnisse auch mit site.addsitedir hinzufügen , und diese Methode berücksichtigt auch .pth Dateien, die in den übergebenen Verzeichnissen vorhanden sind. (Das wäre bei Verzeichnissen, die Sie in PYTHONPATH angeben, nicht der Fall .)


PYTHONPATH landet in sys.path, den Sie zur Laufzeit ändern können.

import sys
sys.path += ["whatever"]

Linux
  1. Wie erkennt man Virtualisierung mit Sys::Detect::Virtualization Perl-Skript?

  2. So führen Sie Python-Skripte von der Shell aus

  3. Wie finde ich den Besitzer einer Datei oder eines Verzeichnisses in Python?

  4. Wie kann ich das 'Backend' in Matplotlib in Python einstellen?

  5. Rufen Sie das Python-Skript von bash mit Argument auf

So führen Sie ein Python-Skript in PHP aus

So richten Sie die automatische Ausführung eines Python-Skripts mit Systemd ein

So verwenden Sie Sets in Python

Wo wird die PATH-Variable in Ubuntu gesetzt?

welche Python gegen PYTHONPATH

So legen Sie den Pfad für sudo-Befehle fest