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
ModuleNotFoundErrorpentru un modul care există: directorul lui nu este însys.pathsau rulezi alt interpretor Python decât cel în care ai instalat pachetul.
Comenzi înrudite
import / from ... import: Încarcă un modul (din biblioteca standard, instalat sau scris de tine) ca să îi folosești funcțiile.sys.modules: Dicționarul tuturor modulelor deja încărcate, folosit ca memorie a importurilor.sys.version, version_info, platform, executable, maxsize, byteorder: Informații despre interpretorul Python și platforma pe care rulează.