How to change the Python Default version


At times you may want to change the version of Python to a specific version instead of the default of your system. In such case you can try making aliases.

First let's try to get the list of all Python versions installed on the device.

# ls -ltrh /usr/bin/python*

-rwxr-xr-x  2 root  wheel    21K Feb 10  2023 /usr/bin/python
-rwxr-xr-x  5 root  wheel   3.4M Feb 10  2023 /usr/bin/python2.7
-rwxr-xr-x  5 root  wheel   3.4M Feb 10  2023 /usr/bin/python2.7-config
lrwxr-xr-x  1 root  wheel    75B Feb 10  2023 /usr/bin/python2 -> ../../System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
-rwxr-xr-x  3 root  wheel    23K Feb 10  2023 /usr/bin/python3
lrwxr-xr-x  1 root  wheel    76B Feb 10  2023 /usr/bin/python3.7 -> ../../System/Library/Frameworks/Python.framework/Versions/3.7/bin/python3.7
-rwxr-xr-x  6 root  wheel   3.5M Jun  3  2023 /usr/bin/python3.8
lrwxr-xr-x  1 root  wheel    76B Jun  3  2023 /usr/bin/python3.8-config -> ../../System/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8-config
-rwxr-xr-x  6 root  wheel   3.5M Jun  3  2023 /usr/bin/python3.8-config
lrwxr-xr-x  1 root  wheel    79B Jun  3  2023 /usr/bin/python3.8-config -> ../../System/Library/Frameworks/Python.framework/Versions/3.8/bin/python3.8-config
-rwxr-xr-x  6 root  wheel   3.5M Jun  3  2023 /usr/bin/python3.8

Let's say I want Python 3.7 to be the default one and others can be aliased to python38 and python27

alias python='/usr/bin/python3.7'
alias python38='/usr/bin/python3.8'
alias python2='/usr/bin/python2.7'

based on your preferences, save this in .zshrc or .bash_profile and reload the shell.

# python --version

Python 3.8
Setting default Python Version Zshrc using alias

Facing issues? Have Questions? Post them here! I am happy to answer!

Author Info:

Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.

Follow him on: X

You can also reach out to him via e-mail: rakesh@code2care.org

Copyright © Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap