DNS Projects HTTP Projects OSS Projects Testing DNS Servers View Headers Main Page





Tidbits --- A Real IDE for Python1


Posted: 09/16/2009 Rev 10/13/2009 Ron Scheckelhoff
Breaking Python Development away from text mode ...


In search of a nice IDE for Python, I tried a few things ... but as far as I am concerned, most of the things I have tried to this point leave something wanting in terms of project management, work coherance, and everything else that a 2009 coder might want, such as code completion, build configuration, and debugging tool integration.. IDLE is fine too (and it's a fine legacy piece of work), but I am used to the likes of Eclipse, Anjuta, Code Warrior, and Sun Studio. Emacs might be ok, but like I said, I am used to the likes of Eclipse, Anjuta, Code Warrior, and Sun Studio.

In fact, the Eclipse IDE is where I eventually landed. What turned the tide was a little known but promising plugin for Eclipse called PyDev. In my opinion, the plugin has promise to put Python development on par with Java development on the Eclipse platform. Calling PyDev a plugin is a little misrepresentative. The work represents a huge repository of code (around 7 Mbytes) at a time when the typical "small feature" Eclipse plugin is a few hundred kilobytes. PyDev is copyrighted by the Aptana company and is found at http://www.pydev.org

Recently having upgraded to FreeBSD version 7.2, I thought about the dependencies list for Eclipse (Java, in particular) Having spent the better part of a weekend building Java 1.6 on FreeBSD 7.1, I was hesitant to jump into another gruelling build marathon. With fingers crossed, I pulled out the special CD disk that I had prepared for FreeBSD 7.1 (containing a full blown Java installer-script and binary-repo, as well as a workable version (3.2.2) of Eclipse.

I inserted it and typed the magic command: installall.sh. Pleasantly, it installed onto FreeBSD 7.2 without issue, and Eclipse executed flawlessly.

Next, I found several versions of PyDev on the net. PyDev only recently became fully open source under the Eclipse Public License, and the version number for this latest release is 1.5.1.

The ports system has a slightly older version of PyDev (1.4.2), and it may be used as well as the new one, and is slightly more convenient due to the binary package that is available.


I discovered some issues with the Eclipse 3.2.2 + pyDev combination, so I upgraded the Eclipse installation to Gandymede (version 3.4.1, which is available in binary package form for FreeBSD 7.2). After starting the Eclipse environment from the shell with the -clean option, I could see that the "New Projects" menu now supported a pyDev project type. As per the pyDev installation instructions, within the Windows->Preferences menu, I selected the interpreter to use (Python 2.5).

Creating a new project and putting in some sample code, I clicked the Eclipse "Debug" button and single stepped through the sample Python code as if it were a Java project. Operation was very clean, with no anomalies noticed in a several hour long debugging session.



To be continued ...

Attribution: This site and it's authors have absolutely no affiliation with, and are not endorsed by Python, or any other entities mentioned on this opinion page.

1Python is copyrighted software and the authors of Python are not affiliated with this site ... See: http://www.python.org
PyDev is copyright the Aptana company and is found at http://www.pydev.org It is in no way affiliated with this site.

Note: The use of any of the information on these pages is entirely at the user's risk. No guarantee of accuracy is suggested or implied. The information is what it is, it is "as is", and nothing more. No license is given for redistribution or commercial use, and no use beyond the satisfaction of intellectual curiosity is expected. Neither the company nor the individual contributors may be held liable for any direct, indirect, or consequential damages, however caused, and on any theory of liability, arising out of or as a result of contact with any information on this site ...