Most of us know how to customize our Linux shell when we need to work in the terminal. For example, to change the Bash prompt, we can simply edit the hidden (via the dot format) .bash_profile or .bashrc file in our home directory:
Then the next time we log in to the Bash shell, our prompt is changed to 'MyPrompt'.
We can do the same thing with our Python shell via a Python file and export it into the PYTHONSTARTUP environmental variable. For example, if I want to have the 'random' module always available when I start my Python shell (don't ask me why), I can create a Python file named 'myPythonstartup.py':
$ cat myPythonstartup.py
Then export this file as an environmental variable PYTHONSTARTUP:
$ export PYTHONSTARTUP=myPythonstartup.py
When I start my Python shell, I will automatically have the random module available without needing to import it:
Python 3.8.1 (v3.8.1:1b293b6006, Dec 18 2019, 14:08:53)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
Neat, right? We can this format for commonly used modules, variables, functions, and anything you can put into a Python file.
In short, PYTHONSTARTUP environmental variable allows users to customize the python shell for commonly used variables and libraries. To find more information about it: PYTHONSTARTUP.