Ответ 1
Как описано в документации, файлы PTH обрабатываются только в том случае, если они находятся в каталоге site-packages. (Точнее, они обрабатываются, если они находятся в "каталоге сайта", но сам "каталог сайта" является глобальным параметром установки Python и не зависит от текущего каталога или каталога, в котором находится script.)
Если каталог, содержащий ваш script, находится на sys.path
, вы можете создать sitecustomize.py
в этом каталоге. Это будет загружено при запуске Python. Внутри sitecustomize.py
вы можете сделать:
import site
site.addsitedir('/some/dir/you/want/on/the/path')
Это не только добавит этот каталог, но добавит его как "каталог сайта", в результате чего файлы PTH будут обработаны. Это удобно, если вы хотите создать свой собственный site-packages
-like-каталог.
Если вам нужно добавить только один или два каталога в путь, вы можете сделать это проще. Просто создайте крошечную библиотеку Python, которая управляет sys.path
, а затем импортирует эту библиотеку из вашего script. Что-то вроде:
# makepath.py
import sys
sys.path.append('/whatever/dir/you/want')
# script.py
import makepath
Изменить: Опять же, в соответствии с документацией, существует возможность каталога для сайта в %APPDATA%\Python\PythonXY\site-packages
(в Windows). Вы можете попробовать это, если на самом деле у вас есть доступ на запись к этому (а не только к вашему каталогу script).