2010/10/8 Jeremy Baron <jeremy(a)tuxmachine.com>
Have you read
http://wiki.python.org/moin/Python2orPython3 ?
Yes, I have. My question is: does Pywikibot use any of the still unported
library modules?
2010/10/8 <info(a)gno.de>
We would lost our backward compatibility for our
scrips. There are some
bot owner running py 2.4 and I really would be glad if we could deny our
support for this version. First let's merge to the rewrite branch based on
2.5 and let the old stuff behind us. I guess this will be done next year ;)
We WILL lose the backward compatibility. This was Guido's decision, not
ours. The only question is when.
I know you have worked with rewrite branch very much and it is tiring to
maintain two branches collaterally and everyone is looking forward to
release Pywiki2.0. Thats OK, and many thanks for your work. I also
understand the sad guys with an old version of Python. But there will be
more and more sad users who would like to use Py3.x, and must keep the old
version and make tricks to choose between versions. Are we facing towards
the future or __future__? :-)
The guys at
python.org say that 2.7 will have an extended support time, but
they don't say what this means. For me, pywikibot is the only reason to use
2.x and i would feel more freedom with saying good-bye. Nobody speaks about
the lifetime of 2.5 and 2.6
As 2.7 has now a final release, and developers are deeling with 3.2, my idea
is that one day (which is not too far in an ideal case) we release the final
Pywikibot 2.0 and from that time it will only have bugfix support. The new
developments would be under Pywikibot 3.0, and if someone feels like, he/she
could backport them to 2.0. The Python version for final Pywiki 2 may be
argued, it may be 2.5 or 2.7 (I think this is not too big difference in
code). Since the development of Pywiki 3 has not begun yet, it may use at
least Python 3.2 (stable version in January 2011).
What are the incompatibilities? Let's make a list. Many syntaxes used by the
current version of Pywiki may be backported to 2.5 if.
*The greatest problem is print vs. print(), and the many-many u""s in
Unicode text. I think this can be handled by the 2to3 tool of Python. But
Python 2.5 also understands the syntax print(). (What about 2.4?)
*Some modules are use in a different way, e. g. urllib.
I can imagine alternative imports either with if sys.version... or a
try/else construction. This would lead to a more complicated code but it
would work under 2.5 as well as under 3.x
*If there are any raw_inputs, they must be changed to input. Are there many?
What else?
Python 3 has also a 3to2 tool. That means, developments under 3.x can be
backported easily.
I don't say we have to do this before Christmas. :-) But let's think about
it.
Bináris