Python requirements poll
MoinMoin's minimum requirement was raised to Python 2.6 (for moin/2.0* repositories ONLY). -- ThomasWaldmann 2010-06-21 00:09:25
Reasons for 2.6
- json module is in stdlib
- -3 option for python3 compatibility warnings
- As of now, 2.6 is in ubuntu stable, later this year also in debian stable (same for other linux distribution)
- moin2 will still take quite a while to finish, so 2.6 won't be a problem then anyway.
MoinMoin's minimum requirement was raised to Python 2.5 (for moin/2.0* repositories ONLY). -- ThomasWaldmann 2009-05-31 18:16:25
We would like to raise the requirement to require Python 2.5 for Moin 2.0 (release probably not before autumn/winter 2009), but we need to collect some info first how many people would get into trouble if we do that.
Moin up to 1.8 requires at least Python 2.3 and thus works on most systems out there, because 2.3 is rather old and about every installation is 2.3 or newer.
Moin 1.9 will require Python 2.4, see PollAboutRequiringPython24 (release is expected summer 2009).
Reasons for 2.5
- includes sqlite3 in stdlib. moin 2.0 will be about storage and if we get sqlite3 via stdlib we have less dependencies on external libs.
- we'll store a hash of the content into metadata. currently it is sha1, but when looking at the recently discovered weakness of sha1, we should rather go for sha2 and that needs python 2.5. The hash is useful for detection data corruption on the server or to verify correctness of bigger downloads from the wiki. It also is useful for ETag generation to support http caching.
we could remove some code from MoinMoin.support that is included there because in 2.4 some stuff in stdlib did not work as we need
- many developers will code using 2.5 end of 2009 / in 2010, so by requiring 2.5 we'll have better tested code and less surprises
2.5 is out since autumn 2006, thus not THAT new
Linux
Desktop Linux
Maybe no problem, short release cycles. Even Debian 5.0 Lenny has 2.5.
Server Linux
Please add infos about Linux distributions typically used on servers / at hosters:
- Debian Etch: Python 2.4.4 (no problem, easy upgrade to lenny)
- Debian Lenny: Python 2.5.2
- Ubuntu 6.06 LTS: 2.4.2 (no problem, considered outdated)
- 7.10: 2.5
- 8.04 LTS: Python 2.5.x
- 8.10: Python 2.5.2
- 9.04: Python 2.4/5/6 and 3.x!
- RHEL/CentOS 4: 2.3.4 (no problem, they can use moin 1.8.x or the dist package)
- Full Updates (including hardware updates) to May 15, 2008
- Maintenance (security) Updates to Feb 29, 2012
The "dist package" is 1.5.9 from the EPEL repository, probably won't be updated during the lifetime of EPEL 4 and EPEL 5, because going to 1.6 would be quite a migration
RHEL/CentOS 5: 2.4.3
(can use moin 1.9.x or the dist package)
- SuSE SLES9: Python 2.3.3 (no problem, will be unsupported when moin 2.0 comes out)
- support until Sept. 2009?
SuSE SLES10: Python 2.4.2
(can use moin 1.9.x or the dist package)
rPath Linux 1: Python 2.4.1
(can use moin 1.9.x or the dist package)
Mac OS X
Regard both (Leopard & Tiger) versions, since Leopard is regarded not switch-worthy by some users.
- 10.6 Snow leopard ships with Python 2.6.1
- 10.5 Leopard ships with Python 2.5.1
- 10.4 Tiger ships with Python 2.3.5
- 10.3 and earlier is dead. Even most Mac developers have long-since dropped support.
Python.org offers an easy click-install packages for Mac users who want to update.
Windows
There are various ways to run python on windows:
- Python.org offers an easy click-install packages for Windows users.
ActivePython: versions 2.5.2.2 and 2.4.5.14
movable python: many python versions, up to 2.5
Solaris
http://opencsw.org/ Python 2.6.x
BSD
- FreeBSD 5.x, 6.x, 7.x: Python Versions 2.3 (2.3.7), 2.4 (2.4.5) and 2.5 (2.5.2) are available via the ports-system. Upgrading is mostly painless.
OpenBSD 4.4: Python 2.5.2 package & python 2.6.x port
NetBSD 3.x, 4.x, 5.x: Python 2.3, 2.4, 2.5, 2.6 all available via pkgsrc.
- MidnightBSD: 2.4-2.6 available via mports
Popular hosts
If you use some popular web / python hosting (not a root server or other server managed by yourself), please add infos about what the hoster offers:
- hoster name: python 2.x.x
- Hostmonster: Python 2.3
- goneo: python 2.5.2
- dreamhost: Python 2.2.3+ | 2.3.5 | 2.4.4
- megiteam: Python 2.4 | 2.5 | 2.6
please add some uptodate data of important hosters.
Discussion
[JohnMarshall] If MM 2.0 will "need" sqlite, it seems reasonable to depend on the official/standard Python sqlite module.
(2009-05-16 20:47:03)