I just wanted to make a quick survey how many sympy users still use python2.4?
Now even the stable version of Debian uses python2.5. Is there still a
major linux distribution that uses python2.4?
The real problem with python2.4 is that it doesn't support relative
imports and as such it's a realy pain to include libraries like
mpmath. Fredrik mentioned here
http://code.google.com/p/mpmath/issues/detail?id=138#c30
that he would like to reintroduce hierarchy of modules in mpmath,
which is really tedious to make it work inside sympy with python2.4.
With sympy itself, it's not a big problem to support python2.4, one
just needs to take care of things like "any()", "SKIP in doctest"
etc., so my plan is to support python2.4 at least one more year if
possible.
What do you think?
Ondrej
For most home users, there is probably no problem to drop support for
2.4. I'm not sure about computing centra. Upgrading the entire OS of a
clusters is quite a job. On our university cluster, the default is
2.4.3, but 2.5.4 is available through 'module load python/2.5.4-...' I
think it is even OK to drop support for 2.4 right now.
cheers,
Toon
The biggest problem with the imports in my opinion is not package
management, but 3.x compatibility. It would be fairly easy to support
both 2.x and 3.x in mpmath with the same codebase (and I would
strongly prefer to do this instead of providing two versions). The
only serious problem is that 3.x requires explicit relative imports
while 2.4 doesn't have them.
So right now the choice is between supporting 2.4 and supporting 3.x,
and probably supporting 2.4 is the right choice for a while longer.
Fredrik
Cannot the 2to3 script fix that? I think it can, but maybe I am wrong.
Ondrej
> Cannot the 2to3 script fix that? I think it can, but maybe I am wrong.
Yep, but then there's the need for dual codebases or at least dual releases.
Fredrik
Yes, 2 releases will be necessary.
In SymPy I plan to setup a buildbot, that automatically runs the 2to3
script and then run tests in python3 after every commit, and then when
the release comes, I just run the script myself and release the
tarball for python3 separately.
We definitely cannot have just one codebase for both 2.x and 3.x, for
example the metaclasses syntax has changed.
Ondrej
To make a conclusion: we will support python2.4 for the foreseeable
future. When it becomes a real pain, we'll then drop the support.
Ondrej