Install Python 3.9.1 on WSL

Raymond Raymond event 2022-01-08 visibility 28,213 comment 8
more_vert

This article summarizes the steps to install Python 3.9.1 on Windows Subsystem for Linux Debian distro. You can also apply them to other similar distros. 

Installation steps

Run the following commands in your WSL terminal.

1) Update package lists

sudo apt update

2) Install dependent libraries

sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev curl libbz2-dev

3) Download Python binary package

wget https://www.python.org/ftp/python/3.9.1/Python-3.9.1.tgz

4) Unzip the package

tar -xzf Python-3.9.1.tgz

5) Execute configure script

cd Python-3.9.1

./configure --enable-optimizations

6) Build Python 3.9

make -j 2

7) Install Python 3.9

sudo make install

Verify the installation

Run the following command to install Python 3.9:

$ python3.9
Python 3.9.1 (default, Jan 8 2022, 14:44:10)
[GCC 6.3.0 20170516] on linux
Type "help", "copyright", "credits" or "license" for more information.

Make Python 3.9 the default

If you want to make Python 3.9 the default python program, you can follow these steps:

1) Change ~/.bashrc file to add the following line:

alias python='/usr/local/bin/python3.9'

2) And then run the following command to make it effective:

source ~/.bashrc

You can verify it using python command directly:

python --version

Python 3.9.1

References

More from Kontext
comment Comments
G Glenn Glazer

Glenn access_time 3 years ago link more_vert

I don't understand why you would build python from source.

On WSL Debian bullseye:

glenn@RainbowDream:~$ sudo apt-get install python3
Reading package lists... Done
Building dependency tree... Done
The following additional packages will be installed:
  ca-certificates libexpat1 libmpdec3 libpython3-stdlib libpython3.9-minimal libpython3.9-stdlib libsqlite3-0
  media-types openssl python3-minimal python3.9 python3.9-minimal
Suggested packages:
  python3-doc python3-tk python3-venv python3.9-venv python3.9-doc binutils binfmt-support
The following NEW packages will be installed:
  ca-certificates libexpat1 libmpdec3 libpython3-stdlib libpython3.9-minimal libpython3.9-stdlib libsqlite3-0
  media-types openssl python3 python3-minimal python3.9 python3.9-minimal
0 upgraded, 13 newly installed, 0 to remove and 7 not upgraded.
Need to get 7,027 kB of archives.
After this operation, 23.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

followed by the download and install and to prove the point:

glenn@RainbowDream:~$ python3
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.

Raymond Raymond

Raymond access_time 3 years ago link more_vert

Hi, it is because the package is not available directly at the time when this article was published.

G Glenn Glazer

Glenn access_time 3 years ago link more_vert

Ah, then this has nothing to do with WSL, then. It's "how to install a python version higher than that bundled with the distro". This would happen in regular Debian as well.

A Alexander Shipilov

Alexander access_time 3 years ago link more_vert

Thank you! Super useful

Raymond Raymond

Raymond access_time 3 years ago link more_vert

I'm glad that you find it helpful :)

C Cathy Savino

Cathy access_time 3 years ago link more_vert

Where is pip? It does not seem to be installed

Raymond Raymond

Raymond access_time 3 years ago link more_vert

Hi Cathy,

From Python 3.4, pip is included as part of Python installation binary.

Can you try the following command?

pip3

OR

python -m pip

If you find the pip is not installed by default, try using the following command to install it:

python -m ensurepip --default-pip

Reference:

Installing Python Modules — Python 3.10.6 documentation

C Cathy Savino

Cathy access_time 3 years ago link more_vert

Thanks so much for getting back to me! I cant find the pip3 executable, but I have been able to install modules with:

python -m pip install [module_name]


Raymond Raymond

Raymond access_time 3 years ago link more_vert

You are welcome! If you have other related questions, feel free to post it here.

Please log in or register to comment.

account_circle Log in person_add Register

Log in with external accounts