Zasadniczo chciałbym zdefiniować kilka globalnych funkcji Pythona w skrypcie i upewnić się, że są one ładowane ilekroć uruchomić skrypt Pythona na moim maszynie lub gdy zacznę terminalu Python
Porozmawiajmy o Twojej drugiej opcji. Istnieją sposoby na załadowanie funkcji i zmiennych podczas uruchamiania terminala. Zalecam używanie IPython zamiast domyślnego terminala Python.Jednak aby to zrobić bez instalowania programu IPython, zmodyfikuj zmienną środowiskową PYTHONSTARTUP. Utracisz możliwość podziału plików konfiguracyjnych.
Po zainstalowaniu IPythona należy zainicjować jego pliki konfiguracyjne. Aby utworzyć profil domyślny:
ipython profile create
Aby rozwiązać wspólny wątek w innych odpowiedzi, zmienne i funkcje globalne są szczególnie jeśli są one domyślnie zdefiniowane zły pomysł. Można jednak zdefiniować i załadować osobne pliki konfiguracyjne podczas uruchamiania ipython. Aby stworzyć taki profil:
ipython profile create <name>
Aby załadować profil <name>
:
ipython --profile=<name>
teraz zmodyfikować pliki konfiguracyjne. Uruchomić to polecenie, aby sprawdzić, gdzie są one:
ipython locate profile
Należy znaleźć ipython_config.py
. Sugerowałbym przeczytanie tego, ma bardzo pomocne komentarze.
Ale aby dostać się do punktu, można załadować dowolne funkcje i zmienne podczas uruchamiania ipython dodając te linijki do pliku konfiguracyjnego:
c.InteractiveShellApp.exec_lines = [ "def p(s): print s" ]
c.InteractiveShellApp.exec_files = [ "/path/of/script.py" ]
jestem odwołującego the IPython docs i komentarze w ipython_config.py
:
96 # List of files to run at IPython startup.
97 # c.TerminalIPythonApp.exec_files = []
98
99 # lines of code to run at IPython startup.
100 # c.TerminalIPythonApp.exec_lines = []
Zobacz ['__init __. Py'] (http://stackoverflow.com/questions/448271/what-is-init-py-for). – e0k
Uruchamianie dla każdego skryptu w języku Python nie jest obsługiwanym zachowaniem ('__init __. Py' może być użyte w celu zapewnienia uruchomienia określonego kodu, jeśli pakiet jest importowany lub jego elementy potomne), ale w celu dostosowania interpretera interaktywnego należy ustawić opcję' PYTHONSTARTUP' Zmienna środowiskowa wskazująca plik z poleceniami Pythona do uruchomienia przed przekazaniem do interaktywnego interpretera, np 'export PYTHONSTARTUP = $ HOME/.pythonrc'. – ShadowRanger
Zobacz https://docs.python.org/2/library/site.html –