Using Wing IDE with Cygwin


Home » Support » Index of All Documentation » How-Tos » How-Tos for Other Libraries »

Wing IDE is an integrated development environment that can be used to write, test, and debug Python code that is written for cygwin, a Linux/Unix like environment for Microsoft Windows. Wing provides auto-completion, call tips, a powerful debugger, and many other features that help you write, navigate, and understand Python code.

For more information on Wing IDE see the product overview. If you do not already have Wing IDE installed, download a free trial now.

To get started using Wing, refer to the tutorial in the Help menu in Wing and/or the Wing IDE Quickstart Guide.

Configuration

To write and debug code running under cygwin, download and install Wing IDE for Windows on your machine. There is no Wing IDE for cygwin specifically but you can set up Wing IDE 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.

Related Documents

Wing IDE provides many other options and tools. For more information:

« 5.1. Using Wing IDE with TwistedTable of Contents5.3. Using Wing IDE with pygame »