Closed Bug 803714 Opened 13 years ago Closed 13 years ago

consider supporting multiple versions of python in mozbase

Categories

(Testing :: Mozbase, enhancement)

enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: k0scist, Unassigned)

References

Details

Our current requirements for mozbase are definitive albeit confusing: """ Mozbase requires python 2.5, 2.6, or 2.7 however, Talos still requires compatibility with python 2.4 (bug 734466), so mozbase dependencies in http://hg.mozilla.org/build/talos/file/tip/setup.py *must* be kept compatible with python 2.4 """ from https://wiki.mozilla.org/Auto-tools/Projects/MozBase . Albeit, the truth of the matter is even more complicated than this. mozdevice is not 2.4 compatible, we just don't use it on python 2.4 slaves. the canonical oauth2 is not compatible with python 2.4, but we have our own vendor branch. Similarly, we don't require an old version of simplejson, but simplejson trunk is not 2.4 compatible. Probably a few other caveats. It has been proposed to allow for per-package python version requirements. If we do this, we need a way of keeping track of this. This should be doable by examining the setup.py files. If a dependency requires a higher python version the package should also require a higher python version. It would also be nice have a single place to look at to see the python versions required for each package. This probably isn't hard, but it is low on my priority list. The oft-cited logic "we'll require python 2.7 soon so we might as well code to it now" I consider a non-starter. Let's not incur technical debt while avoiding technical debt. If we want to invest time in getting on python 2.7 we should do that, but we shouldn't act like we already have it available until we do.
See Also: → 724191
As an example, the following code could go at the top of setup.py: REQUIRED_VERSION = (2, 7) import sys if sys.version_info[:len(REQUIRED_VERSION)] < REQUIRED_VERSION: raise Exception("Requires python %s (You have: %s)" % ('.'.join(REQUIRED_VERSION), sys.version)) If we kept REQUIRED_VERSION (or whatever) consistent, we could inspect this intelligently
Severity: normal → enhancement
Going to wontfix this unless anyone has any opposition. This was ticketed by me on request of someone who I can't even recall...so probably obselete
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.