GNU/Linux >> Znalost Linux >  >> Linux

Jak globálně upravit výchozí PYTHONPATH (sys.path)?

Zdá se, že dokumentace modulu webu a Modifikace vyhledávací cesty Pythonu jsou to, co hledáte.

Pokud tomu dobře rozumím, tyto položky se přidávají do sys.path od:

  • /usr/lib/python2.6/site.py
  • /usr/lib/python2.6/dist-packages/site.py
    (Změňte verzi 2.6 na svou verzi Pythonu.)

Nejjednodušší způsob, jak to změnit, je přidat soubor /usr/local/lib/python2.6/dist-packages/site-packages.pth obsahující ../site-packages .

Případně můžete balíček naučit používat site.getsitepackages() ?


Můžete vytvořit nový soubor s názvem /etc/profile.d/local_python.sh s obsahem

PYTHONPATH="/usr/local/lib/python2.6/site-packages/":"${PYTHONPATH}"
export PYTHONPATH

Což nastaví PYTHONPATH pro všechny přihlášené uživatele ve vašem systému.


Rád bych shrnul své poznatky o modifikaci cesty pythonu. Existují dva způsoby, jak to udělat.

  • .pth soubor
  • PYTHONPATH

Jakýkoli .pth soubor, který se nachází na výchozí cestě (viz níže), bude jeho obsah zahrnut do sys.path .Formát uvedeného .pth soubor je jednoduchý:jedna cesta (složka) na řádek. Překvapivě mohou být cesty absolutní nebo relativní k .pth soubor.

Výchozí cesta je místo, kde sídlí interpret a <some-prefix>/lib/python<version>/site-packages kde <some-prefix> je obvykle /usr/ .

PYTHONPATH je proměnná prostředí vašeho operačního systému. Na unixových systémech je uvádíte podle env . Globální modifikace těchto proměnných se provádí pomocí .sh skripty uvnitř /etc/profile.d/ složky, jak je uvedeno @TestUser16418.


Linux
  1. Jak získat úplnou cestu k souboru?

  2. Jak připojit výstup do souboru?

  3. Jak přesměrovat výstup system() do souboru?

  1. Jak přidat soubor .so do java.library.path v Linuxu

  2. Jak upravit soubor kernel DTB

  3. Jak najít výchozího správce souborů?

  1. Jak přidat nový řádek na konec souboru?

  2. Jak upravit výchozí obrázek na pozadí systému?

  3. Jak zobrazit úplnou cestu k souboru nebo adresáři v terminálu?