Run custom code on Python start-up

You can run custom Python code, every time Python starts-up to run a program or a script, if you customise the file sitecustomize.py in your directory site-packages.

By default, this file doesn't exist. However, if you create it and write the code below, Python will print β€œHello!” every time it runs something else:

## sitecustomize.py
print("Hello!")

For example, if you run the command pip --version, you will be greeted:

❯ pip --version
Hello!
pip 23.3.1 from /Users/rodrigogs/.pyenv/versions/3.12.0/lib/python3.12/site-packages/pip (python 3.12)

How to figure out where the directory site-packages is

If you open the Python REPL, you can use the built-in module site to figure out where the directory site-packages is located:

>>> import site
>>> site.getsitepackages()
['/Users/rodrigogs/.pyenv/versions/3.12.0/lib/python3.12/site-packages']

With the output of the code above, now I know where to put the file sitecustomize.py.

You can also run the command below, if you can't be bothered to open the Python REPL:

❯ python -c "import site; print(site.getsitepackages())"

How to customise the REPL on start-up

If all you want is to customise the REPL, and not necessarily every single thing that runs on/with Python, you can read my previous TIL on how to customise the REPL on start-up.

Improve your Python 🐍 fluency and algorithm knowledge 🎯

Get ready for 12 intense days of problem-solving. The β€œAlgorithm Mastery Bootcamp” starts December 1st and it will feature 24 programming challenges, live analysis sessions, a supportive community of like-minded problem-solvers, and more! Join now and become the Python expert others can rely on.

Previous Post Next Post

Blog Comments powered by Disqus.