Я работаю над некоторыми личными библиотеками python, и мне нужно показать, что содержит PYTHONPATH, а затем манипулировать им.
Как правило, переменная окружения $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.