Using Wing Pro with Windows Subsystem for Linux

Index of All Documentation » How-Tos » How-Tos for Specific Environments »

Wing Pro Screenshot

Wing Pro is a Python IDE that can be used to develop, test, and debug Python code running on Windows Subsystem for Linux (WSL), including both WSL 1 and WSL 2.

This document describes how to configure Wing Pro for WSL. To get started using Wing Pro as your Python IDE, please refer to the tutorial in Wing's Help menu or read the Quickstart Guide.


To use Wing Pro with WSL you will need to install Python on WSL and be able to SSH from Windows into WSL without entering a password. If you haven't already done this, see Setting up WSL below before trying to create a project in Wing Pro.

If you do not already have Wing Pro installed, download it now.

Creating a Project

To create a Wing Pro project that accesses Linux under WSL:

  • Use New Project from the Project menu and then select Create New Configuration from the Host menu in the New Project dialog.
  • Choose WSL for the Remote Host Type in the New Remote Host dialog.
  • Set Identifier to wsl or some other short name for the WSL-hosted Linux.
  • Set Host Name to username@ where username is replaced with the user name running on Linux. The user name is needed even if it is the same as the user running on Windows.
  • Set Python Executable to Command Line and enter /usr/bin/python3 or the full path to the Python executable you wish to use on Linux.
  • If you are running the SSH server on Linux under a non-standard port, set SSH Port under the Options tab.
  • Leave the rest of the configuration values set to their defaults and press OK.

Wing Pro should install the remote agent and confirm that it is working. Then you can continue through the New Project dialog to select or create your source directory and select or create the Python environment to use. See Creating a Project for details.

You will be able to edit, debug, test, search, and manage files on the WSL-hosted Linux installation, or launch commands running on Linux from Wing Pro's OS Commands tool.

To learn more about Wing Pro's remote development capabilities, see Remote Hosts.

To learn more about Wing Pro's features, take a look at the Tutorial in Wing's Help menu or the Quickstart Guide.


Selecting the WSL for the Remote Host Type in the New Remote Host dialog automatically unchecks Use SSH Tunnel for username@localhost under the Advanced tab of the remote host configuration. Other than this, the remote host configuration created in the above instructions is the same as for any other remote host.

Setting up WSL

Here is one way to set up WSL with Ubuntu as the Linux distribution and PuTTY as the SSH client:

Enable WSL and Install Ubuntu Linux:

  • Enable WSL in Windows 10+. This is done in the Settings app under Apps > Apps & features > Related settings / Programs and features > Turn Windows features on and off. Restart when prompted.
  • Install Ubuntu from the Microsoft Store.
  • Install Python in Ubuntu with sudo apt-get install python3 if not already present.

Set up password-less SSH access to Ubuntu:

  • Install PuTTY if you don't already have it. You should install all the tools from the MSI installer.
  • Create an SSH key pair and add it to ~/.ssh/authorized_keys on Ubuntu, as described in Working with PuTTY.

Fix the SSH server on Ubuntu:

  • Some versions of Ubuntu under WSL seem to be initially misconfigured so that connecting to the SSH server immediately drops the connection. If you run into this, you can fix the problem with sudo apt-get purge openssh-server followed by sudo apt-get install openssh-server and then sudo service ssh --full-restart. Type wsl on Windows to get into your WSL system without needing the SSH server to work.

Each time you restart Windows or Ubuntu:

  • Start pageant from Windows and right-click on the icon that appears in the lower right of Windows to load your private key into Pageant.
  • Run sudo service ssh --full-restart on Ubuntu to make sure the SSH server is started.

Now running plink username@ on Windows should connect to Ubuntu without prompting for a password.


In the unlikely event that you already have an SSH server running somewhere on your system on port 22, you will need to change the port number used on Ubuntu in /etc/ssh/sshd_config and then execute sudo service ssh --full-restart again. In this case, you also need to set the port in your remote host configuration in Wing, under the Options tab.

Other Linux distributions are also available in the Microsoft Store.

It is also possible to use Open SSH instead of PuTTY. See Working with OpenSSH for details.

Related Documents

For more information see: