Using Wing with Cygwin

Wing <https://wingware.com/>`__ is a Python IDE that can be used to develop, test, and debug Python code written for cygwin, a Linux/Unix like environment for Microsoft Windows.Two versions of Wing are appropriate for use with this document: Wing Pro is the full-featured Python IDE for professional programmers, and Wing Personal is a free alternative with reduced feature set.

System Message: WARNING/2 (<string>, line 7); backlink

Inline literal start-string without end-string.

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

Configuration

To write and debug code running under cygwin, download and install Wing for Windows on your machine. There is no Wing for cygwin specifically but you can set up Wing for Windows to work with Python code that is running under cygwin.

Cygwin has a different view of the file system than the paths used by Windows applications. This causes problems when code is debugged since Wing cannot find the files referenced by their cygwin name.

The solution to this problem is to treat Python running under cygwin as if it were running on a separate system. This is done using Wing's external launch / remote debugging support. In this model, you will always launch your Python code from cygwin rather than from Wing's menus or toolbar.

When setting this up according to the instructions provided by the above link, use cygwin paths when setting up WINGHOME in wingdbstub.py.

You will also need to set up a file location translation map from your cygwin names (usually by default something like /c/path/to/files maps to C:\path\to\files), or set things up in cygwin's configuration so that the cygwin pathname is equivalent to the win32 pathname. For the latter, an example would be to set up /src in cygwin to point to the same dir as \src in win32 (which is src at top level of the main drive, usually c:\src). Wing will ignore the difference between forward and backward slashes in path names. An easy way to determine the correct cygwin file path to use is to place assert 0 into a file and refer to the traceback shown in the Exceptions tool in Wing when the file is debugged via wingdbstub.