Python
  Home arrow Python arrow Page 6 - Essential Resources for the Python Professional
Dev Shed Forums  
Administration  
AJAX  
Apache  
BrainDump  
DHTML  
Flash  
Java  
JavaScript  
Multimedia  
MySQL  
Oracle  
Perl  
PHP  
Practices  
Python  
Reviews  
Security  
Smartphone Development  
Style-Sheets  
Web Services  
XML  
Zend  
Zope  
Mobile Linux  
App Generation ROI  
IBM® developerWorks  
Forums Sitemap  
E-Commerce Hosting  
Linux Web Hosting  
Managed Hosting  
Small Business Hosting  
VPS Hosting  
Weekly Newsletter

 
Developer Updates  
Free Website Content 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us Get Paid  
Request Media Kit
Contact Us  
Site Map  
Privacy Policy  
Support  
 USERNAME
 
 PASSWORD
 
 
  >>> SIGN UP!  
  Lost Password? 
Google.com  
PYTHON

Essential Resources for the Python Professional
By: Boudewijn Rempt
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: starstarstarstarstar / 5
    2000-10-25


    Table of Contents:
  • Essential Resources for the Python Professional
  • What Can You Do With Python?
  • Web Sites
  • Books
  • The Python Community
  • Development Environments

  • Rate this Article: Poor Best 
      ADD THIS ARTICLE TO:
      error-file:tidyout.log Del.ici.ous error-file:tidyout.log Digg
      error-file:tidyout.log Blink error-file:tidyout.log Simpy
      error-file:tidyout.log Google error-file:tidyout.log Spurl
      error-file:tidyout.log Y! MyWeb error-file:tidyout.log Furl
    Email Me Similar Content When Posted
    Add Developer Shed Article Feed To Your Site
    Email Article To Friend
    Print Version Of Article
    PDF Version Of Article

     
     
    ADVERTISEMENT


    Essential Resources for the Python Professional - Development Environments
    ( Page 6 of 6 )

    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.

    IDEs IDLE

    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.

    Pythonwin

    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
     

       

    PYTHON ARTICLES

    - 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
    - Sequences and Sets in Python
    - Python Expressions and Operators
    - Dictionaries, Variables and Statements in Py...
    - Data Types in Python
    - The Python Language
    - SSH with Twisted





    © 2003-2009 by Developer Shed. All rights reserved. DS Cluster 6 Hosted by Hostway
    For more Enterprise Application Development news, visit eWeek