Using Wing with Blender
Wing is a Python IDE that can be used to develop, test, and debug Python code written for Blender, an open source 3D content creation system. 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.
If you do not already have Wing installed, download it now.
To get started using Wing, refer to the tutorial in the Help menu in Wing or the Quickstart Guide.
Working with Blender
Blender loads Python scripts in a way that makes them difficult to debug in a Python debugger. The following stub file can be used to work around these problems:
import os import sys # MODIFY THESE: winghome = r'c:\Program Files (x86)\Wing IDE 6.0' scriptfile = r'c:\src\test\blender.py' os.environ['WINGHOME'] = winghome if winghome not in sys.path: sys.path.append(winghome) #os.environ['WINGDB_LOGFILE'] = r'c:\src\blender-debug.log' import wingdbstub wingdbstub.debugger.StartDebug() def runfile(filename): execfile(filename) runfile(scriptfile)
To use this script:
- Modify winghome & scriptfile definitions where indicated to the wing installation directory and the script you want to debug, respectively. When in doubt, the location to use for winghome is given as the Install Directory in Wing's About box (accessed from Help menu).
- Run blender
- Click on upper left icon and select text editor
- Click on icon to right of "File" to display text editor pane
- Select File -> Open from the bottom menu bar and select this file to open
Once the above is done you can debug your script by executing this blenderstub file in blender. This is done using File -> Run Python Script from the bottom menu or by the Alt-P key, though Alt-P seems to be sensitive to how the focus is set.
Note that you will need to turn on listening for externally initiated debug connections in Wing, which is most easily done by clicking on the bug icon in the lower left of the main window and selecting Accept Debug Connections in the popup menu that appears.
Wing provides many other options and tools. For more information: