Can I change the default Python 3.6.5 on WSL Ubuntu 18.04 to 3.7? So when I check python3 --version
I get 3.7.x
so I can use that version with pip3 as well. Thanks
Asked
Active
Viewed 2.9k times
4

wbadry
- 260
1 Answers
7
Here's the steps to change your python3
command to point to your python3.7
version (assuming you already have 3.7 installed). Please adjust paths as needed for your environment
# 1 - Identify your location of `python3` using the `which` command
which python3
# returns something like
/usr/local/bin/python3
# 2 - Identify your location of `python3.7` using the `which` command
which python3.7
# returns something like
/usr/local/bin/python3.7
# 3 - Get directory listing of python3 folder (from 1 above)
# using grep to filter results containing 'python'
ll /usr/local/bin | grep -i python
# returns something like below - notice the arrow after python3
# the arrow indicates a symbolic link
lrwxrwxrwx 1 root root 18 Jul 4 2018 python3 -> /usr/bin/python3.6*
-rwxr-xr-x 2 root root 14777608 Nov 3 00:36 python3.7*
-rwxr-xr-x 2 root root 14777608 Nov 3 00:36 python3.7m*
-rwxr-xr-x 1 root root 3097 Nov 3 00:37 python3.7m-config*
-rwxr-xr-x 1 root root 4522328 Feb 22 17:24 python3x*
# 4 - Test creating a symbolic link using sudo to get root privileges
# enter password if/when prompted
sudo ln -s /usr/local/bin/python3.7 /usr/local/bin/test37
# 4 - verify test
test37 --version
# Desired output
Python 3.7.1
# 5 - remove test and python3
sudo rm /usr/local/bin/test37
sudo rm /usr/local/bin/python3
# 6 - creating python3 symbolic link using sudo to get root privileges
# enter password if/when prompted
sudo ln -s /usr/local/bin/python3.7 /usr/local/bin/python3
# 7 - verify
python3 --version
# Desired output
Python 3.7.1
Of course the pythonic thing to do is to use virtual environments.

DaveStSomeWhere
- 196
-
1This solves the problem but creates a new one. Now, I can't get Ubuntu upgraded, it always throws the message: ModuleNotFoundError: No module named 'apt_pkg' – asa Jan 27 '21 at 23:11
-
-
For anyone else that sees this, suggested fix is to reinstall the
apt-get
package usingsudo apt-get install --reinstall python3-apt
. However, similar to another reply, I had to usesudo apt remove --purge python3-apt
and thensudo apt install python3-apt
. Source – pheeper May 12 '23 at 17:38
python3.7 --version
provide the desired output and are you just trying to avoid typing the extra .7? Have you considered virtual environments? – DaveStSomeWhere Feb 22 '19 at 22:44python3.7 --version
. 2 - do you have root privileges, can you entersudo
commands. 3. Find your python3 symbolic link usingwhich python3
(should point to python3.6). 4 - remove python3 symbolic link. 5. Add new symbolic link to python3.7. Please verify 1 and 2. – DaveStSomeWhere Feb 23 '19 at 14:55