Python Glossary English

все 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Сообщить о неточности