sys.path în Python

Interpretorul (sys) Python 3.0+

Lista directoarelor în care Python caută modulele la import.

Sintaxă
sys.path  # lista directoarelor în care import caută module

Ce face sys.path

La import nume, Python caută nume.py sau pachetul nume în directoarele din sys.path, în ordine. Lista conține de obicei directorul scriptului, biblioteca standard și site-packages (pachetele instalate cu pip). Variabila de mediu PYTHONPATH adaugă directoare.

Poți adăuga un director la rulare cu sys.path.insert(0, cale), dar pentru proiecte reale este mai curat să instalezi pachetul (de exemplu pip install -e .). În modul izolat (python3 -I), directorul scriptului nu este adăugat.

Exemple

Exemplul 1: Import dintr-un director adăugat

import sys
from pathlib import Path
Path("biblioteci").mkdir()
Path("biblioteci/salut_ro.py").write_text("def salut(n):\n    return f'Salut, {n}!'\n")
sys.path.insert(0, "biblioteci")
import salut_ro
print(salut_ro.salut("Ana"))
print(any("python3" in p for p in sys.path[1:]))

Rezultat

Salut, Ana!
True

Greșeli frecvente

  • Primești ModuleNotFoundError pentru un modul care există: directorul lui nu este în sys.path sau rulezi alt interpretor Python decât cel în care ai instalat pachetul.

Comenzi înrudite