Как выполнить файл python, определенный в $ PYTHONSTARTUP, при запуске файла, подобного python foobar.py
Запустите эту команду, чтобы узнать, где определена ваша ОС USER_SITE
:
$ python -c "import site; site._script()"
Шахта говорит:
USER_SITE: '/home/el/.local/lib64/python2.7/site-packages'
Создайте там новый файл с именем /home/el/.local/lib64/python2.7/site-packages/usercustomize.py
, вставьте туда этот код:
try:
import your_things
import readline
print("ROCKETMAN!")
except ImportError:
print("Can't load your things")
print("Either exit here, or perform remedial actions")
exit()
Закройте терминал и снова откройте его, чтобы удалить все махинации.
Создайте новый файл python foobar.py
в любом месте файловой системы, поместите этот код втам:
#Note there is no your_things module imported here.
#Print your_things version:
print(your_things.__version__)
Запустите его:
python foobar.py
ROCKETMAN!
'1.12.0'
Что только что произошло.
Вы использовалиспецифический для Python хук конфигурации Python и импортированные библиотеки в файле usercustomize.py
, который работал до foobar.py.
Документация: https://docs.python.org/2/library/site.html
Где я нашел этот трюк: https://nedbatchelder.com/blog/201001/running_code_at_python_startup.html