Что содержит мой PYTHONPATH?

Я работаю над некоторыми личными библиотеками python, и мне нужно показать, что содержит PYTHONPATH, а затем манипулировать им.

6
задан 2 December 2013 в 18:13

1 ответ

Как правило, переменная окружения $PYTHONPATH пуста (попробуйте echo $PYTHONPATH). Фактический список папок, которые Python ищет в библиотеках, можно найти с помощью (в python):

import sys
print(sys.path)

Он будет состоять (в порядке поиска) из текущего каталога, любых каталогов в вашем $PYTHONPATH и, наконец, каталоги библиотеки по умолчанию, установленные site.py. Основные местоположения по умолчанию (где XY - версия Python, например, 2.7):

/usr/lib/pythonX.Y (python system libraries, eg re, urllib)
/usr/lib/pythonX.Y/dist-packages (python libraries installed with deb packages)

Если вы используете pip install --user или аналогичный для установки библиотек как вы сами, он также будет содержать каталог пользовательских библиотек:

/home/USERNAME/.local/lib/pythonX.Y/site-packages

Вы можете манипулировать PYTHONPATH, устанавливая переменную среды перед запуском python (PYTHONPATH=$PYTHONPATH:/foo/bar), или редактируя sys.path, как только вы запустили python (import sys; sys.path = ["/foo/bar"] + sys.path).

Однако, если вы хотите поиграть со своими собственными библиотеками Python, хорошей идеей будет создать virtualenv. Это каталог, в котором вы можете поиграть со своими собственными версиями библиотек python без риска испортить библиотеки python, используемые системой. См. Как настроить и использовать виртуальную среду Python в Ubuntu? для получения информации о создании и использовании virtualenv.

0
ответ дан 2 December 2013 в 18:13

Другие вопросы по тегам:

Похожие вопросы: