Python Debugging

From Vectorworks Developer
Revision as of 11:23, 9 May 2015 by CBM-c- (talk | contribs) (sequence needed to install the Debug perspective, which is different than described in pydev.org, added image)
Jump to navigation Jump to search

Python is open source scripting engine and there are many free and paid IDEs that can hook into the engine and debug. I guess you can search and experiment with what is out there in the internet. Maybe you can find an easier way to make it work.

.Python|Python ..VS:Function Reference|Function Reference ..VS:Function_Reference_Appendix|Appendix ..Python Debugging|Debugging with Python

Debugging with Aptana Studio

I have experimented with Aptana Studio (http://www.aptana.com/products/studio3/download.html) which is a version of http://en.wikipedia.org/wiki/Eclipse_(software)

Aptana is an IDE that allows you to manage Python projects and can debug remote python engines like Vectorworks. It includes PyDev (http://pydev.org/) for that which, by itself, is a plug-in to do python in Eclipse.

Anyway, you can remote debug, and here is how: http://pydev.org/manual_adv_remote_debugger.html

Here is the setup procedure:

  1. Install Python 3.3 runtime (http://www.python.org/download/) I’ll hook Aptana to this version later. This is technically not necessary, but I prefer to have it so Aptana could report syntax errors while editing.
  2. Install Aptana Studio 3 (http://www.aptana.com/products/studio3/download.html)
  3. Run Aptana and specify a workspace directory outside Vectorworks path. This is VERY important for the reason that workspace directory will contain a ton of files that start with ‘.’. If this path is visible by Vectorworks, it will make it launch very slowly (from traversing all these files and sub-folders)
  4. Now, you can create a project. File -> New -> Project... > General
  5. Only the first time, this process would require to setup Python engine. Now, let the software find the python and set it up automatically: Preferences > PyDev > Interpreters > Python Interpreter, click on "Advanced Auto-Config" and select the Python 3.3 you just installed in step 1. We wont actually use it, but will let Aptana use it to syntax check.

The way the debug works is to use the remote debugger of Aptana: http://pydev.org/manual_adv_remote_debugger.html

First, you must include an import to the PyDev remote debugger in your script. The Python Sample Menu Command contains commented code that enables PyDev debugger.

import pydevd
pydevd.settrace(suspend=False)

Then your script will fail because the 'pydevd' module is not found.

To fix that you must point Vectorworks' Python to the correct environment path to find the missing module.

Go to the Vectorworks menu Tools -> Plug-ins -> Script Options and add an environment path to the needed Folder location:

  • Win example: D:\Aptana Studio 3\plugins\org.python.pydev_2.7.0.2013012902\pysrc
  • Mac example: /Applications/Aptana Studio 3/plugins/org.python.pydev_3.0.0.1388187472/
Note
You may need to change that to the place where you have installed the Aptana Studio application.


Then you go to Aptana Studio and enable the remote debugger (http://pydev.org/manual_adv_remote_debugger.html) and run your script in Vectorworks.

Note
You may need to enable the Debug perspective in Aptana before being able to enable the debug server:
  1. enable the debug perspective: Window > Open Perspective > Other > Debug: a new icon with a green bug will appear on the left, this toggles on/off the debug perspective
  2. while in the debug perspective, start the remote pydev debugger server: click on the other green button with the bug and a P

See Also

Python basic information: Python