9

My company wants me to code Python.
My company won't pay for a Python IDE.
That won't change.

So, what's currently the most full featured Python IDE which I don't have to pay for and can legally use in a commercial environment?

It must support Python 3 (with at most one configuration option - the path to the Python binary) and be easily installable on Ubuntu 12.04 (preferably a package).

Must have: debugger, set breakpoints, run to breakpoint, one step, examine variables, etc.

Nice to have: auto completion, Windows version


[Update]: Spyder looked excellent, but I can't get it to install with Python 3 support :-(
[Update]: I got it installed (using PIP), but can't configure it to use Python 3 - it's still using Python 2 :-(
[Update]: Same for Eric (and I can't find an Ubuntu package for Eric6)

  • 3
    What OS platform? – rrirower Jan 13 '15 at 16:58
  • 3
    How well does your muscle memory know the vi and Emacs keybindings? – unforgettableid Jan 13 '15 at 21:42
  • 1
    Not at all. I haven't seen the need to use either them as my main editor for a decade or two (admittedly I keep a vi cheat sheet for emergencies, but I wouldn't use either on a day to day basis). – Mawg Jan 14 '15 at 6:34
  • 2
    (Meta discussion re. the "python3" tag.) – unor Jan 15 '15 at 11:10
  • 1
    @unforgettableid I thought Emacs was an operating system ;) – n611x007 Jan 17 '15 at 22:59
9
+50

PyCharm now has a free, open-source, apache-licensed "community edition":

Community Edition FREE

  • Lightweight IDE for Python development only
  • Free, open-source, Apache 2 license
  • Intelligent Editor, Debugger, Refactorings, Inspections, VCS integration
  • Project Navigation, Testing support, Customizable UI, Vim key bindings

Download: https://www.jetbrains.com/pycharm/download/

It has a Linux, Windows and Mac OS X version.

Its Apache 2 license should grant you with the commercial use. I had this confirmed by the Jetbrains support:

Yes, the Community Edition may be used commercially

Link to comparison matrix of editions - including Graphical Debugger in "free" edition:

https://www.jetbrains.com/pycharm/features/editions_comparison_matrix.html

Basic idea of different editions, from the FAQ:

Basically, the main items missing in Community Edition are detailed web and enterprise support features.

PyCharm GUI

Disclaimer: I don't personally use an IDE. However, I'd probably choose this if I would. Open-source - check. Features - check. Usability - check. Prettiness - check.

  • 1
    Are you sure? Why do they offer a separate commercial license then? – ᔕᖺᘎᕊ Jan 17 '15 at 22:20
  • 1
    OK, at least you've clarified in the answer now :) I know nothing about licences either! – ᔕᖺᘎᕊ Jan 17 '15 at 22:28
  • 2
    I've contacted sales... awaiting answer in 1 business days... (probably 3 days from now) – n611x007 Jan 17 '15 at 22:38
  • 2
    The IntelliJ FAQ you link to specifically answers that the Apache license was chosen to enable commercial use as well. The commercial editions of JetBrains' software simply have more features, and most people will need to pay if they want to use that edition. (Admittedly, it's about a different product, but it's the same company and the same license.) – hvd Jan 18 '15 at 11:56
  • 3
    @ᔕᖺᘎᕊ Got answer, Yes, the Community Edition may be used commercially. (For reference, my question was: can someone use the community edition for free in a commercial environment legally?). Updated answer. – n611x007 Jan 19 '15 at 10:41
7

I'd recommend Spyder which meets all your requirements:

  • Free
  • Can be used in commercial environment (it's under the MIT license)
  • Supports Python 3
  • Cross-platform
  • Debugger (with break points, variable inspection, etc.)
  • Auto-completion

enter image description here


Installation for Python 3

To use Spyder for Python 3, you just need v2.3.0 or later.

Ubuntu 12.10 and later

You can get this by using pip3.

sudo apt-get install python3-pip python3-pyqt4
sudo pip3 install spyder

Ubuntu 12.04

Ubuntu 12.04 doesn't have python3-pip in the repositories, but you can get it with setuptools,

sudo apt-get install python3-pyqt4 python3-setuptools
sudo easy_install3 pip
sudo pip3 install spyder

you can then open Spyder from the launcher (after logging out and in) or from the terminal by typing spyder3.

  • I really like Spyder & would like to get it working, but ... E: Unable to locate package python3-pip E: Unable to locate package python3-qt4 – Mawg Jan 19 '15 at 15:03
  • 1
    @Mawg, thanks, I've edited my answer and verified that it works in Ubuntu 12.04. – Garrett Jan 20 '15 at 1:50
  • Wow!! great service, a pity I could only +1. in the end, though, I have gone for PYcharm, which is about the bets, most full featured that there is. Thanks for your help. – Mawg Jan 20 '15 at 9:39
6

I'd recommend using Eclipse! (a Java IDE) and installing PyDev to make it a Python IDE

I have used this alot (but have since moved to PyCharm and sublime (the former of which is not free) and would highly recommend it.

This is freely available on Windows, Mac, and Linux.

  • 1
    a great choice... if you like eclipse the great tool. for some odd reason eclipse sometimes makes me reconsider if I want an IDE at all. I don't really know why, maybe it feels bloated and over-engineered? – n611x007 Jan 17 '15 at 22:41
5

Important! This software is suggested using a web search and research. There is no personal experience involved using this application. I hope my answer will help you anyway!

I would like to recommend to use Ninja-IDE And as per Wikipedia and their official website above features that I have mentioned below are available

  • Light weight IDE
  • Common functions such as: file handling, find in files code locator, go to line, tabs,
  • automatic indentation, editor zoom, etc.
  • Multi-platform: Linux, Mac OS X, Windows.
  • Syntax highlighting for a wide variety of languages. Even though it is intended to be mainly a Python IDE, it can also handle several other languages.
  • Static and PEP 8 error highlighting.
  • Show tips to help migrate code from Python2 to Python3.
  • Embedded Python console.
  • Project management, allowing to add, modify and delete files and folders to projects, creating automatically the "init.py" files inside each module, etc.
  • Allows to show/hide the panels of the interface in a very simple way to fit each programmer's preferences.
  • Completely configurable UI.
  • Allows using more than one editor at once.
  • An extensible plug-in system, which creation the IDE supports.
  • Session handling: remembers opened files and projects after closing the IDE.
  • Code Auto-completion.
  • Code Locator: Lets you jump to any code in your project with just a few keystrokes.

For Ubuntu Users

sudo apt-add-repository ppa:ninja-ide-developers/ninja-ide-stable (Stable updates)
(OR)
sudo apt-add-repository ppa:ninja-ide-developers/daily (Daily updates)

sudo apt-get update
sudo apt-get install ninja-ide

Also I hope this source will help you find a good IDE.

enter image description here

Anyway be warned that the support for python 3 is not complete, as the developer who built the Plug-in says here:

I'm really happy to hear that you recommend this plugin. Unfortunately the support for python 3 was never finished (barely started), although I believe it's not a lot of work, I could never finish it. This past year has been crazy and I couldn't find the time to improve the plugin with the new Ninja, if you or your friend would like to contribute and perhaps create a pull request with the support for python 3 that'll be awesome.

As Joaquin Sargiotto said you can contact him joaquinsargiotto@gmail.com Github Profile: https://github.com/jsargiot

  • 1
    I was actually using it (+1), but the debugger plugin seems to be broken for Python3 as it uses Python2 style print statements, which are not compatible :-( File "/home/me/.ninja_ide/addins/plugins/debugger_plugin/ndb3/ndb3.py", line 92 print "Exception at debug: " + repr(e) ^ SyntaxError: invalid syntax – Mawg Jan 16 '15 at 14:28
  • 1
    @Mawg Most of the time they might not reply but however I sent and email to the developers regarding this josecortes@ninja-ide.org, diego.sarmentero@ninja-ide.org – Heisenberg Jan 17 '15 at 14:48
  • 1
    @Mawg I just got a reply for Dev Diego as he mentioned The debugger plugin is not an official plugin, it was created for someone from the community, so i can't provide any help there. But we will have a complete support for debugging with lots of features for NINJA-IDE 3.0. – Heisenberg Jan 17 '15 at 17:15
  • 2
    @Mawg I was able to find the official developer who contributed for plugin,I've edited my post with the answer that I got from him – Heisenberg Jan 18 '15 at 15:52
  • 2
    I want to write something in python now, just so I can try Ninja. Their website is hilarious, and written by actual ninjas. Stuff like: "Ninja IDE is GPLv3. This doesn't stand for "Greatest Power Level", but it's pretty cool too." ninja-ide.org/about – Peter Cordes Jan 19 '15 at 13:43
4

Eric IDE features all of the items that you have requested, is free and cross platform, as I believe that the licence is very liberal.

If you are already an Eclipse user then there is the pydev plugin that also offers all of the above.

  • 1
    en.wikipedia.org/wiki/Eric_Python_IDE says that the license is GPL v3, so I should be ok. The screen-shots & feature lists look fine. I will give it a quick trial & get back to you. – Mawg Jan 15 '15 at 10:31
  • Oops, I can't find a Debian package for Eric6 :-( – Mawg Jan 15 '15 at 10:45
  • 1
    Once you have met the dependencies then you just download the .tag.gz file unpack it and follow the installation instructions for the prerequisites in the README file then run python install.py – Steve Barnes Jan 15 '15 at 21:34
  • Alas, I can't meet the dependencies. It requires Qt5 and we use Qt4 in our work. Although there should be no conflict, we are forbidden from adding other Qt versions "just in case". – Mawg Jan 16 '15 at 8:24
  • 1
    Then use Eric 4 for python 2.x and Eric 5 for python 3.x! You should be able to find distributions for them still about. – Steve Barnes Jan 16 '15 at 13:50
2

Well, there is a StackOverflow question that will certainly help you find what you need.

I would recommend Komodo. I am not really sure about their terms, but there is an open-source version of this IDE, and it offers things like code completion, debugging tools and others.

  • 3
    Ah! For the days when S.O encouraged such questions ;-) Thanks, @Victor, I will check these out & get back to you. – Mawg Jan 13 '15 at 15:50
  • 1
    Looks like I can't use Komodo (komodoide.com/pricing/license-comparison). I will look through the rest. – Mawg Jan 13 '15 at 15:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.