Как узнать, какие каталоги перечислены в PYTHONPATH
переменной моей системы , из скрипта Python (или интерактивной оболочки)?
python
python-module
pythonpath
Пол Д. Уэйт
источник
источник
PYTHONPATH
. Используйтеsys.path
для этого.sys.path
это «Список строк, который указывает путь поиска для модулей» - docs.python.org/2/library/sys.html#sys.path . PYTHONPATH - это переменная окружения, которая влияет на этот список. По любому разумному определениюsys.path
это твой "путь питона".python -m site
.Ответы:
sys.path
может включать элементы, которые не входят вPYTHONPATH
переменную среды. Чтобы запросить переменную напрямую, используйте:источник
sys.path
.Вы, вероятно, также хотели бы это:
Или как один вкладыш из терминала:
Предостережение : если у вас установлено несколько версий Python, вы должны использовать соответствующую команду
python2
илиpython3
.источник
python -c "import sys; print('\n'.join(sys.path))"
Не могу отредактировать другой ответ. Имеет незначительную ошибку в том, что это только для Windows. Более общее решение - использовать os.sep, как показано ниже:
sys.path может включать элементы, которые не входят в переменную окружения PYTHONPATH. Чтобы запросить переменную напрямую, используйте:
источник
os.sep
возвращает разделитель каталогов для операционной системы, например/
. Разделитель, используемый в пути Python, отличается и возвращаетсяos.pathsep
как показано в принятом ответе.PYTHONPATH - это переменная окружения, значением которой является список каталогов. После установки он используется Python для поиска импортированных модулей, наряду с другими стандартными данными. и сторонние библиотечные каталоги, перечисленные в "sys.path" Python.
Как и любые другие переменные окружения, вы можете экспортировать их либо в оболочку, либо в ~ / .bashrc, см. Здесь . Вы можете запросить os.environ ['PYTHONPATH'] для его значения в Python, как показано ниже:
Если определяется в оболочке как
ТОГДА результат =>
Иначе результат =>
Чтобы установить PYTHONPATH для нескольких путей, смотрите здесь .
Обратите внимание, что можно добавить или удалить путь поиска через sys.path.insert (), del или remove () во время выполнения, но НЕ через os.environ []. Пример:
Таким образом, PYTHONPATH - это один из способов указания путей поиска Python для импортированных модулей в sys.path. Вы также можете применять операции со списками непосредственно к sys.path без помощи PYTHONPATH.
источник
Python сообщает мне, где он живет, когда выдает сообщение об ошибке :)
источник