GNU/Linux >> Znalost Linux >  >> Linux

Jak ve skriptu Python nastavím PYTHONPATH?

Proměnné prostředí můžete získat a nastavit pomocí os.environ :

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

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

Ale protože váš tlumočník již běží, nebude to mít žádný účinek. Raději použijte

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

což je pole vašeho PYTHONPATH bude při spuštění interpretu transformován na.


Pokud zadáte sys.path.append('dir/to/path') bez zaškrtnutí je již přidán, můžete vygenerovat dlouhý seznam v sys.path . K tomu doporučuji toto:

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

Nenastavíte PYTHONPATH , přidáte položky do sys.path . Je to seznam adresářů, ve kterých by se měly hledat balíčky Pythonu, takže k tomuto seznamu můžete své adresáře pouze připojit.

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

Ve skutečnosti sys.path je inicializováno rozdělením hodnoty PYTHONPATH na znaku oddělovače cesty (: na systémech podobných Linuxu ; v systému Windows).

Adresáře můžete také přidat pomocí site.addsitedir a tato metoda také vezme v úvahu .pth soubory existující v adresářích, které předáte. (To by nebyl případ adresářů, které zadáte v PYTHONPATH .)


PYTHONPATH končí v sys.path, kterou můžete upravit za běhu.

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

Linux
  1. Jak mohu nastavit 'backend' v matplotlib v Pythonu?

  2. Zavolejte skript Python z bash s argumentem

  3. Jak získat PYTHONPATH v shellu?

  1. Jak spustit Python skript z Javy?

  2. Jak zajistit, aby skript Python běžel jako služba?

  3. Jak nastavit cestu JAVA_HOME na Ubuntu?

  1. Jak ukončit terminál Linux pomocí skriptu Python?

  2. Kde je v Ubuntu nastavena proměnná PATH?

  3. Jak zabít python skript pomocí bash skriptu