Question

I recently saw an announcement and article outlining the release of the first Python 3.0 release candidate. I was wondering whether there were any commercial, free, open source etc. IDE's that support its syntax.

Was it helpful?

Solution

Python 3 is just not that different from Python 2.x. In terms of syntax per se, things that will actually need to be handled differently by the parser, the only major change is in the replacement of the print statement with the print function.

Most of the features of Python can be easily probed via introspection (online help, method completion, function signatures, etc.), so there's no reason why any Python IDE will require major changes to work with Python 3.0. I expect IDLE and SPE and the other open-source IDEs will be support it before the final release.

OTHER TIPS

Komodo 5 beta 1 was released in October 2008 and has initial support for Python 3 but I don't think I'd be using it for production code yet.

Given that Python 3 is still a very early release candidate, you may have some trouble finding mature support in IDEs.

PyDev for Eclipse does support 3.0. You can configure multiple interpreters in the plug-in settings.

In the project properties you can set:

  • Project type (Python, Jython, IronPython)
  • Grammar version (2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 3.0).

(PyDev version at time of writing: 1.4.7.)

Can get PyDev. from http://pydev.sourceforge.net. Its a plugin for Eclipse and is more than handy. Not to mention benefits of the old and trusted Eclipse.

Emacs + python.el continues to be better than anything else I've tried.

Pyscripter is the PERFECT Python IDE on windows; it's compatible even with the newly released Python 3.1.

Geany works with python 3 if you install it and then:

sudo gedit /usr/share/geany/filetypes.python

change the last 2 lines with:

compiler=python3 -c "import py_compile; py_compile.compile('%f')"

run_cmd=python3 "%f"

I can say that at the time of posting this (Apr. 28 2009, version 0.8.4h) that SPE does not correctly handle some python3 syntax - specifically exception handling. For example, the follow code is flagged as an error (and irritatingly, is jumped to whenever the file is saved):

except urllib.error.URLError as e:
        if hasattr(e, 'reason'):
        #...
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top