все Python 3sysпонятие
sys.path
модули
Список директорий, в которых Python ищет модули при импорте. Можно модифицировать для добавления своих путей.
Синтаксис
sys.path # list[str]
Первым в списке идёт каталог запускаемого скрипта, поэтому свой файл random.py или json.py рядом с кодом затенит одноимённый стандартный модуль — это классическая причина загадочного AttributeError вроде «module 'random' has no attribute 'randint'». Правка sys.path живёт только внутри текущего процесса и считается костылём: для постоянного эффекта ставят пакет (pip install -e .) или задают PYTHONPATH.
Примеры
import sys
print(sys.path[:2]) # → ? каталог скрипта и пути стандартной библиотеки
sys.path.append('/my/modules') # искать модули ещё и здесь — в последнюю очередь
sys.path.insert(0, '/priority/path') # искать здесь в первую очередь
print(sys.path[0]) # → /priority/path
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности