IDE for python and django development on linux

From Freehackers
Jump to: navigation, search


Requirements

  • goes as far as python code parsing ("go to definition", "find where this is used", code completion)
  • easy to use/configure

Nice to have

  • mainstream enough to be available in gentoo
  • integration with mercurial and git

ressources:


(orzel: as a conclusion, I'm currently using ninja-ide)

Might be

Atom

https://en.wikipedia.org/wiki/Atom_(text_editor) Edited/maintained by github, open source, higly integrated with git. Build on top of Electron, a framework based on chromium+nodejs to create desktop app based on web technos (!!). There's a mercurial plugin, but it doesn't seem used much.

Available in gentoo, but with peeky dependancies (especially on libgit2 version), which make it hard to install.

Ninja IDE

dev-util/ninja-ide in gentoo, wikipedia page

Dead : as of january 2017, the last release was > 3.5 years ago (2.3)

Good:

  • based on qt/pyqt
  • can use virtualenv
  • "find usage" works right from start
  • i can "open project" even if no project was created already, doens't create anything in there.
  • control-enter for "go to definition", works right from start
  • lot of useful plugins, easy to install
  • of interest to me : django, ipython, git-integration,
  • great website :)
  • there's an unofficial vim plugin https://github.com/rkillam/Vimja

Bad:

  • slow like hell, even on my high-end desktop computer
  • "go to definition" only works for methods/functions, not for constants
  • concerns about maintainance, as of september 2015, the last release was july 2013, far too long ago..
  • still using qt4

kdevelop

dev-util/kdevelop and dev-util/kdevelop-python in gentoo

Kinda work for "go to definition" and code completion. It's hard to make him understand the PYTHONPATH, the only way i've found is to use only one path in PYTHONPATH and to import/create the project at this very directory. There must be a better way though.

Anjuta

gtk+ stuff, general IDE with code completion, not specific to python/django


komodo edit

Once closed source, seems more open now. Still nothing on gentoo, wip: https://bugs.gentoo.org/show_bug.cgi?id=171944

  • it seems heavy as you need to compile a whole big "mozilla" directory
  • the vim mode is buggy according to some comment on the net

The editor is free, you need to pay for the IDE (includes the editor).

qt-creator

dev-qt/qt-creator in gentoo

good:

  • knows about git and mercurial

bad:

  • python support is only about syntax color, no autocompletion, "got to definition" or whatever

eclipse/pydev/liclipse

pydev is the official, standard, plugin for developping in python with eclipse.

The most common way of using the plugin is to use the full bundle http://www.liclipse.com/ (pydev recommends using this for exemple)

It supports go-to-definition and step-by-step debugging.

G uses this.

eric

dev-util/eric in gentoo

good:

  • qt/pyqt. not that slow.
  • there are a lot of things available. messy though
  • integrated plugin for mercurial, optional for git
  • django plugin

bad:

  • i got an error at first start "argument 1 of QsciLexerPython() has an invalid type"
  • couldn't find "go to definition" or "find usage" easily
  • created a a file and a directory in my source tree
  • when starting eric6 (not 5), got this weird message "eric5 non è ancora stato configurato. Il dialogo di configurazione verrà avviato. {6 ?}"
  • froze the first time it lost focus and the got it back

Nope

pyscripter

windows only


Spyder

dev-python/spyder in gentoo

  • Sound good at start : qt-based, can use ipython, pep8, flake and other nice stuff from python I like.
  • Complicated stuff with workspace / projects that force you to have a given layout on disk. Couldn't find how to make "go to definition" work.


pycharm

wikipedia page

Good:

  • it's more for 'web dev with django' than just python. Can do stuff with js, css and databases
  • The demo video is on some Django code.
  • in gentoo : dev-util/pycharm-community / dev-util/pycharm-professional

bad:

  • done in java
  • not really free (community/pro versions).
  • requires a specific jvm (oracle)
  • only on the paid version can do great web stuff
  • messed a lot with my system (~/.PyCharm30, created desktop shortcuts systemwise !, want to install stuff, maybe even worse things)

IDLE

Developed in tcl/tk by the python dev themselves.

dead ?


Aptana Studio

Good:

  • knows about mercurial
  • knows about all new technos (web2, deployment)

bad:

  • very close to Eclipse. It's more or less a plugin for eclipse and the standalone version kinda bundle elipse.
  • not in Gentoo, and will probably never be
  • the product page mentions ruby everywhere, but python only once at beginning


Wingware

Proprietary, uses pyside.