Choosing the right Python Integrated Development Environment

This blog is solely intended to be used as a reference to learn which Python integrated development environment (IDE) might be best for you or your organization. Since there are many IDEs to choose from, picking the right one can very well depend on the platform you use (Windows or Linux), specific features, or the cost. However, one thing is true, whether you are writing a single script or many scripts for a large project, a Python IDE will accelerate your development time and it’s strongly recommended you use one.

At a minimum, a good IDE will have the following features:

  • An editor with code completion
  • Syntax highlighting
  • Code templates
  • A code explorer for functions and classes
  • Tools for unit testing and debugging
  • Source control support

What Python IDEs are used at Esri?
At Esri, our preference varies from person to person. Some of our Windows only users are choosing PyScripter, a free, open-source Python IDE, while others use Wing IDE Professional or PyCharm because they have support on Windows and Linux.

Reviews of Python IDEs
Here are some recommended articles providing reviews of various Python IDEs. It is encouraged to test drive at least a couple IDEs to find the best one for you.

From Python Central:

From StackOverflow:

One IDE grabbing our attention at Esri is PyScripter. It is not listed in the reviews above, however, if you are a windows developer, we recommend giving this IDE a trial run. It is free with 32bit and 64bit flavors and includes most features available in a commercial IDE.

Here is a short review of PyScripter by techworld:
http://review.techworld.com/applications/3238828/pyscripter-review/

For a complete listing of Python IDEs:
http://wiki.python.org/moin/IntegratedDevelopmentEnvironments

This entry was posted in Python and tagged , , . Bookmark the permalink.

Leave a Reply

8 Comments

  1. jacobsj says:

    Another worth mentioning is Python Tools for Visual Studio, especially for developers who are already using Visual Studio.

  2. bschwarz says:

    2 thumbs up for PyScripter – much more intuitive than others in my opinion – although admittedly I haven’t tried them all.

  3. g3martin says:

    I am a fan of pyscripter for quick/simple stuff but if I have to do any debugging Python Tools for Visual Studio (PTVS) is awesome. For instance debugging a script with a Search Cursor, Pyscripter has no useful information for the cursor object but PTVS shows you everything you could hope for, field names, each row and their values.

    I also really appreciate the ability to drag the cursor around in PTVS to “rewind” while debugging and take a closer look and something that ran.

    Here is a comparison of the debugger results.

  4. riverside says:

    Wing IDE Professional and PyCharm also run on OSX.

  5. bveldkamp says:

    With PTVS 2.0 you can remotely debug your script, so you can have it run in a (remote) ArcGIS Server environment and then connect the debugger to it. Note that this is still an alpha version.

  6. martinhvidberg says:

    Eclipse (with PyDev) meets all demands.
    It’s free software, and it runs on all platforms. On top it have everything a good IDE should have – according to this blog. I use it every day, also for arcpy stuff, and I never looked back :-)

  7. clod says:

    I prefer Codelobster
    THis free editor has great support for all web languages including Python.