Developing Python On Windows With WSL

1 minute read


This post describes how I started developing python scripts using vscode on Windows but using WSL under the hood for linux development tasks.

To Resolve:

  1. Following Microsoft’s Developing in WSL … :
    • Install WSL
    • Sign into your distro, create a user, run apt-get update -y && apt-get upgrade -y
    • Install vscode on Windows
    • Install Remote Development extensions on Windows
    • Inside vscode, run wsl and then code . and it will install a bunch of stuff in your Ubunutu system
    • Inside vscode (which is in Ubuntu now after previous code . command) run sudo apt-get install python3-pip
    • Create a python script and put shebang at top #!/usr/bin/python3 and run it. It will say something about installing a linter and since we installed pip it will install it - I chose pylint and autopep8
    • Now add a few more lines and do the ctrl+shift+f thing and it should auto format your code
  2. Next, in WSL type vi ~/.bashrc and add to the bottom of the file cd /mnt/q/google/scripts/python. This will set it to where everything I do will sync with Google so I can pick up on any computer I have Backup and sync installed.

    • Also, if you have a settings.json, I would sync it to your WSL machine.
    • Note that this file will be highly modified because I didn’t install half the extensions I use in my Windows vscode.
  3. A few things I noticed:

    • For a folder rename error: '/mnt/q/google/scripts/python/z_python/plex-backup' -> '/mnt/q/google/scripts/python/z_python/current' Error: EACCES: permission denied, rename , I fixed by setting one of my settings.json lines to remote.WSL.fileWatcher.polling to true

    • For no pip: There is no Pip installer available in the selected environment, I found the path to the WSL extension and added pip install --upgrade pip on the end: /usr/bin/python3 /home/myuser/.vscode-server/extensions/ms-python.python-2020.5.86806/pythonFiles/ pip install --upgrade pip