First and foremost, let me know if I missed something, or got something wrong, or if you have questions
Steps
WSL2
- Install any Linux distribution through the Window store (Ubuntu 22.04 for example)
- Boot it up, and create a user
- Set WSL version 2 as the default by running this command in Command Prompt or Powershell (on your Windows device)
wsl --set-default-version 2
Creating a virtual environment inside WSL2
1. Install Python on the WSL2 instance by running these commands
sudo apt update
sudo apt install python3 python3-pip python3-venv
2. Create new virtual environment
python3 -m venv <your-environment-name>
# examples
python3 -m venv myenv
# or
python3 -m venv gpu-env
You can make this virtual environment in the root folder. After this you can simply create new folders in the root folder, and those will all use that virtual environment. This way you do not need to create a new virtual environment every time. (The installation time is very long, and you probably do not want to do that every time)
3. Activate the virtual environment
source <your-environment-name>/bin/activate
# examples
source myenv/bin/activate
# or
source gpu-env/bin/activate
If you successfully activated the virtual environment, you should see
(<your-environment-name>)
on the left side of the terminal, before every lineYou can then deactivate it by typing
deactivate
, but for now keep it activated for the tutorial
Installing pip packages in virtual environment
pip install polars[gpu] pandas numpy tensorflow[and-cuda]
NOTE: You need to be inside an activated virtual environment to be able to run
pip-install
commands. Otherwise, you will get an error telling you to create a virtual environment
Using the virtual environment in VS Code
You can open VS Code by typing code .
in the terminal. This will install and open the VS Code installation on the WSL instance. This installation does not have all extensions you have on your Windows installation (e.g. Python, GitHub Copilot, Jupyter). You can (have to) install them again through the Extensions tab in VS Code.
When selecting an interpreter, select <your-environment-name>
, instead of Python version with a version number. The interpreter you need has the exact same name as the virtual environment, and will have a Python version number after it, in this format
- ✅
gpu-env (Python 3.11.2)
<<< select this one - ❌
Python 3.11.2 /bin/python3
- ❌
Python 3.11.2 /usr/bin/python3