Ответ 1
Благодаря двум дополнительным ссылкам, я нашел не только предполагаемый ответ на свой вопрос, но и решение, которое мне нравится еще больше, и которое - как ни странно - было также объяснено в моем первом результате поиска, но запутано всеми version- (не) зависимыми языками пакетов-сайтов.
Ответ на оригинальный вопрос: папка по умолчанию
Я хотел знать, было ли каноническое (как в "по умолчанию") местоположение для моих самописных пакетов. И это существует:
>>> import site
>>> site.USER_SITE
'C:\\Users\\ojdo\\AppData\\Roaming\\Python\\Python27\\site-packages'
А для примера с Linux и Python 3:
[email protected]:~$ python3
>>> import site
>>> site.USER_SITE
'/home/ojdo/.local/lib/python3.6/site-packages'
В документации по установке пакета пользовательской схемы указано, что папка USER_SITE
- если она существует - будет автоматически добавлена в ваш Python sys.path
при запуске интерпретатора, никаких ручных действий не требуется.
Бонус: пользовательский каталог для собственных пакетов
- Создайте каталог где угодно, например
C:\Users\ojdo\Documents\Python\Libs
. - Добавьте файл
sitecustomize.py
в папку site-packages установки Python, т.е. вC:\Python27\Lib\site-packages
(для всех пользователей) илиsite.USER_SITE
(для одного пользователя). Затем этот файл заполняется следующим кодом:
import site site.addsitedir(r'C:\Users\ojdo\Documents\Python\Libs')
- Вуаля, новый каталог теперь автоматически добавляется в
sys.path
при каждом (I) сеансе Python.
Как это работает: Пакет site, который автоматически импортируется при каждом запуске Python, также пытается импортировать пакет sitecustomize
для пользовательских изменений пути пакета. В этом случае этот фиктивный пакет состоит из сценария, который добавляет папку личного пакета в путь Python.