[Tutor] jython vs CPython... what are the differences?

Kent Johnson kent_johnson at skillsoft.com
Tue Oct 26 21:13:07 CEST 2004


There are two main reasons a Python program will not run in Jython.

- Jython implements Python 2.1, so anything introduced in 2.2 or 2.3 is not 
supported in Jython.
The best reference for these differences is the "What's New in Python 2.x" 
documents available at python.org.
http://docs.python.org/whatsnew/whatsnew23.html
http://www.python.org/doc/2.2.3/whatsnew/whatsnew22.html

  Perhaps the most significant and problematic differences are that Jython 
doesn't support new-style classes (inheriting from object) or generators 
(functions that use 'yield' to create iterators).

- Jython does not support the full Python standard library.
In general, if it is in the Python 2.1 library and implemented in Python, 
it is in Jython
If the Python version is implemented in C, it may or may not be in Jython. 
Core modules such as os and re have Jython implementations (written in 
Java) but some libraries are missing.

Note: Jython *does* support nested scopes if you put the line
from __future__ import nested_scopes
as the first code line in a module.

Kent

At 02:20 PM 10/26/2004 -0400, Rene Lopez wrote:
>I know that speed is often a difference between the two... but what
>else is different?
>
>I thought I'd try to run one of my scripts through jython just to see
>what happens.. but I get an error from jython, but the code runs just
>fine in regular python.  Is there a tutorial out there for porting the
>code over, or a list of things that work in python but not jython?
>
>
>--
>
>Rene
>_______________________________________________
>Tutor maillist  -  Tutor at python.org
>http://mail.python.org/mailman/listinfo/tutor



More information about the Tutor mailing list