Home arrow Python arrow Page 6 - Essential Resources for the Python Professional

Development Environments - Python

What books are good for learning Python? What editor should you use when writing Python? What exactly is Python? All these questions, and more, are answered in this great new article.

  1. Essential Resources for the Python Professional
  2. What Can You Do With Python?
  3. Web Sites
  4. Books
  5. The Python Community
  6. Development Environments
By: Boudewijn Rempt
Rating: starstarstarstarstar / 5
October 25, 2000

print this article


Compared to C++ or Java, comparatively few IDEs exist for Python. This notwithstanding, most programmers' editors have a Python mode, and you can find a number of useful tools for Python development.

Editors NEdit

Audience: Linux developers with a Windows background.

Description: Chances are, your favorite editor supports Python. My own preferred editor, NEdit, has good Python syntax highlighting but doesn't try to be overly clever with indenting rules—it also cannot run Python from the editor. Still, NEdit does have keystrokes that are very much like those of most Windows editors, which is a blessing because I spend much of my daytime development work on Windows. NEdit runs on only X11 systems.

XEmacs and VIM

Audience: Traditional Unix developers.

Description: If you want more intelligent indentation and you aren't afraid of some serious learning, try XEmacs—it has the most extensive Python support of all of the editors. VIM has a good Python mode too, but I don't personally like the autoindenting. Both Emacs and Vim are available on almost any platform.

Visual Slickedit

Audience: Professional software developers.

Description: A couple of commercial editors (such as Visual Slickedit) offer Python support, but I do not feel that they are really worth the effort. For instance, Visual Slickedit is as involved and idiosyncratic as Emacs, but it costs a great deal of money.


Audience: All Python developers.

Description: Three IDEs are worth mentioning. The first is IDLE, which you already have—it's hidden in the Tools subdirectory in the Python distributions,. IDLE has a good class browser, but the editor isn't very strong: it's a bit slow and doesn't allow for extensive customization or scripting. IDLE runs everywhere Python and Tkinter runs, which excludes Macintosh. IDLE is not suited for very intensive development, however, due to its lack of speed and its awkward menu interface; however, to be fair, a lot of people do all of their Python work with IDLE.


Audience: Windows developers.

Description: This is a Windows-only IDE, but it's very, very comfortable. It's not included with the standard Python distribution, but you can get it at thePython Web site. Pythonwin has a good source navigation, a useable debugger, an excellent (folding!) editor, integrated help, and a COM browser. Another nice feature is a Python syntax checker that can run without running your script. Pythonworks

Audience: Professional developers.

Description: The last recommended IDE is Pythonworks, from Secret Labs. Pythonworks looks gorgeous—it's written in Tkinter but runs only on Windows. It's also very expensive, but it promises to have a great editor, a visual layout editor, and a good debugger.

Debuggers: IDLE, PyDebug, DDD, Pythonwin

Audience: All Python developers.

Description: Unfortunately, I can't give a good recommendation for a debugger. I have tried four: the IDLE debugger, PyDebug, DDD with a pydb interface, and the Pythonwin debugger. None of these are really as good as you'd hope. For instance, none of these debuggers supports altering the code while running the script. This is a pity because Python offers all the hooks to write a really good debugger—and I fully intend to write one, one day, unless you beat me to it! Another problem is that most Python debuggers don't know where to stop: If you're not careful, you get lost in the system library, which can be terribly confusing—especially if you wander into the functions that the debugger uses to print its messages!

Profilers: Python Profiling Module

Audience: Developers who have a performance problem.

Description: Python offers a standard profiling module and, in contrast to the debugger situation, this is quite ample. You can easily use this to locate your bottlenecks. This profiler is included in your Python distribution—just look at the library reference, Chapter 10.

Class Browsers: IDLE, Pythonwin, Kpybrowser

Audience: Developers who are building a large application.

Description: Python has a standard module, pyclbr.py, that offers services for class browsers. I know of three implementations: one in IDLE, one in Pythonwin, and one that I have written myself, Kpybrowser, which works only with Qt or KDE. Kpybrowser enables you to open new modules and module paths in the browser and can be made to work with your preferred editor.

Find the answers you need at InformIT.com

Article courtesy of InformIT.com
Copyright 2000 InformIT.
All Rights Reserved


>>> More Python Articles          >>> More By Boudewijn Rempt

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort


- Python Big Data Company Gets DARPA Funding
- Python 32 Now Available
- Final Alpha for Python 3.2 is Released
- Python 3.1: String Formatting
- Python 3.1: Strings and Quotes
- Python 3.1: Programming Basics and Strings
- Tuples and Other Python Object Types
- The Dictionary Python Object Type
- String and List Python Object Types
- Introducing Python Object Types
- Mobile Programming using PyS60: Advanced UI ...
- Nested Functions in Python
- Python Parameters, Functions and Arguments
- Python Statements and Functions
- Statements and Iterators in Python

Developer Shed Affiliates


Dev Shed Tutorial Topics: