Eric (software)

From Wikipedia, the free encyclopedia
  (Redirected from Eric Python IDE)
Jump to navigation Jump to search
The logo of eric
Screenshot of eric4 running in KDE SC 4
eric4 running in KDE SC 4
Original author(s) Detlev Offenbach
Developer(s) Detlev Offenbach
Initial release 2002; 16 years ago (2002)
Stable release
18.03 / March 4, 2018; 7 months ago (2018-03-04)
Repository Edit this at Wikidata
Written in Python
Operating system Linux, macOS, Microsoft Windows
Platform Python, Qt, PyQt
Available in English, German, French, Russian, Czech, Spanish, Italian, Turkish, Chinese
Type Integrated Development Environment
License GPL version 3 or later
Alexa rank Increase 492,681 (July 2016)[1]

eric is a free integrated development environment (IDE) used for computer programming.

eric is a full featured IDE, providing by default all necessary tools needed for the writing of code and for the professional management of a software project.[2][3]

eric is written in the programming language Python and its primary use is for developing software written in Python. Nevertheless, eric also supports many other programming languages, and the level of support of Ruby is almost as high as for Python.

eric is usable for development of any combination of Python 3 or Python 2, Qt 5 or Qt 4 and PyQt 5 or PyQt 4 projects, on Linux, macOS and Microsoft Windows platforms.

License, price and distribution[edit]

eric is licensed under the GNU General Public License version 3 or later and is thereby Free Software. This means in general terms that the source code of eric can be studied, changed and improved by anyone, that eric can be run for any purpose by anyone and that eric - and any changes or improvements that may have been made to it - can be redistributed by anyone to anyone as long as the license is not changed (copyleft).

The author distributes eric without charge; he provides an option for voluntary donations via PayPal on his homepage.

eric can be downloaded at Sourceforge and installed manually with a python installer script.[4] Most major GNU/Linux distributions include eric in their software repositories, so when using such GNU/Linux distributions eric can be obtained and installed automatically by using the package manager of the particular distribution.[5][6][7][8][9] Additionally, the author offers access to the source code via a public Mercurial repository.[10]


eric is written in Python and uses the PyQt Python bindings for the Qt GUI toolkit. By design, eric acts as a front end for several programs, for example the QScintilla editor widget, the python language interpreter, Rope for code refactoring and Python Profiler for code profiling.

The functionality of eric is extensible via a plug-in mechanism. The eric plug-in repository provides various kinds of extensions and is accessible from within the IDE.


The key features of eric 6 are:[11]

  • Source code editing:
  • GUI designing:
  • Debugging, checking, testing and documenting:
    • Integrated graphical python debugger which supports both interactive probing while suspended and auto breaking on exceptions as well as debugging multi-threaded and multiprocessing applications
    • Integrated automatic code checkers (syntax, errors and style, PEP-8) for static program analysis as well as support of Pylint via plug-in
    • Integrated source code documentation system
    • Integrated unit testing support by having the option to run python code with command-line parameters
    • Integrated interface to the enchant spell checking library
    • Application diagrams
  • Version control:
  • Project management and collaboration:
    • Advanced project management facilities
    • Integrated task management with a self-updating TODO list
    • Integrated cooperation functions (chat, shared editor)
  • Other:
    • Integrated web browser
    • Integrated support for Django (as optional plug-in)
    • Running external applications from within the IDE
    • Interactive Python shell including syntax hilighting and autocompletion
    • Integrated CORBA support based on omniORB
    • Integrated rope refactoring tool (as optional plug-in)
    • Integrated interface to cx_freeze (as optional plug-in)
    • Many integrated wizards for regex and Qt dialogs (as core plug-ins)
    • Tools for previewing Qt forms and translations

Support for Python 2 and 3[edit]

Prior to the release of eric version 5.5.0, eric version 4 and eric version 5 coexisted and were maintained simultaneously, while eric 4 was the variant for writing software in Python version 2 and eric version 5 was the variant for writing software in Python version 3.

With the release of eric version 5.5.0 both variants had been merged into one, so that all versions as of eric version 5.5.0 support writing software in Python 2 as well as in Python 3, making the separate development lanes of eric version 4 and 5 obsolete. Those two separate development lanes are no longer maintained, and the last versions prior to merging them both to 5.5.0 were versions 4.5.25 and 5.4.7.[12]



Versioning scheme[edit]

eric uses a software versioning scheme with a three-sequence identifier, e.g. 5.0.1. The first sequence represents the major version number which is increased when there are significant jumps in functionality, the second sequence represents the minor number, which is incremented when only some features or significant fixes have been added, and the third sequence is the revision number, which is incremented when minor bugs are fixed or minor features have been added.

Release strategy[edit]

eric follows the development philosophy of Release early, release often, following loosely a time-based release schedule. Currently a revision version is released around the first weekend of every month, a minor version is released annually, in most cases approximately between December and February.

Version history[edit]

The following table shows the version history of eric, starting from version 4.0.0. Only major (e.g. 6.0.0) and minor (e.g. 6.1.0) releases are listed; revision releases (e.g. 6.0.1) are omitted.

Legend: Old version Older version, still supported Current stable version Latest preview version Future release
Branch Version Release date Major changes
4 Old version, no longer supported: 4.0.0 2007-06-03
Old version, no longer supported: 4.1.0 2008-02-03
Old version, no longer supported: 4.2.0 2008-08-09
  • Added a toolbar manager
Old version, no longer supported: 4.3.0 2009-02-08
  • Changed license to GPL "v3 or later"
Old version, no longer supported: 4.4.0 2010-01-09
  • Changed the help viewer to a full blown web browser (based on QtWebKit)[14]
Old version, no longer supported: 4.5.0 2012-02-04
  • Added Mac OS X to the officially supported platforms[15]
5 Old version, no longer supported: 5.0.0 2010-07-04
  • The eric 5 branch represents the new Python 3 variant of eric. It is not supporting Python 2 (yet). For Python 2 support the development of the eric 4 branch is continued.[14]
Old version, no longer supported: 5.1.0 2011-02-27
Old version, no longer supported: 5.2.0 2012-02-18
  • Added Mac OS X to the officially supported platforms[15]
Old version, no longer supported: 5.3.0 2013-02-03
  • Added support for Qt5[16]
Old version, no longer supported: 5.4.0 2014-01-07
  • Added support for PyQt5 projects[12]
Old version, no longer supported: 5.5.0 2014-10-27
  • Added Python 2 support to the eric 5 branch, so that from now on both, Python 3 and Python 2, are supported by one single version of eric, making the eric 4 branch for Python 2 obsolete, which is not further continued[12]
6 Old version, no longer supported: 6.0.0 2014-12-28
  • eric 6 replaces the eric 5.5.x line of development. It is usable with any combination of Python 2 or Python 3, Qt5 or Qt4 and PyQt5 or PyQt4, on Linux, Mac OS X and Windows platforms
Old version, no longer supported: 6.1.0 2015-12-05
  • Added multithreading support for checkers to make use of multiple CPUs/CPU-Cores[17]
16 Old version, no longer supported: 16.11 2016-11-12
  • Switching the release scheme[18]
Old version, no longer supported: 16.12 2016-12-03
17 Old version, no longer supported: 17.01 2017-01-01
Old version, no longer supported: 17.02 2017-02-04
Old version, no longer supported: 17.03 2017-03-03
Old version, no longer supported: 17.04 2017-04-07
  • Minimum required Python versions increased: Python 2 - 2.7.10; Python 3 - 3.4.0
Old version, no longer supported: 17.05 2017-05-06
Old version, no longer supported: 17.06 2017-06-03
Old version, no longer supported: 17.07 2017-07-02
Old version, no longer supported: 17.08 2017-08-03
Old version, no longer supported: 17.09 2017-09-01
Old version, no longer supported: 17.10 2017-10-07
Old version, no longer supported: 17.11 2017-11-03
Old version, no longer supported: 17.12 2017-12-02
18 Current stable version: 18.01 2018-01-06
Current stable version: 18.02 2018-02-03
  • Added support for attributes introduced with Qt 5.9 and Qt 5.10[19]
  • New session file format
Current stable version: 18.03 2018-03-04
Current stable version: 18.04 2018-04-02
Current stable version: 18.05 2018-05-01
Current stable version: 18.06 2018-06-02


Several allusions are made to the British comedy group Monty Python, which the Python programming language is named after. Eric alludes to Eric Idle, a member of the group, and IDLE, the standard python IDE shipped with most distributions.

See also[edit]


Further reading[edit]

  • (in German) Farid Hajji, Das Python-Praxisbuch: Der große Profi-Leitfaden für Programmierer, Pearson Education, 2008, ISBN 3-8273-2543-9, p. 1142
  • "My experiences with Eric, a Python IDE", 2009

External links[edit]