Bug #5137
closed[SDKs] Add Python version test 2.7 <= sys.version_info < 3
Description
<tetron> brett: regarding #5136 any thoughts on how to warn the user if they are using Python < 2.7 ?
<brett> tetron: Inspect sys.version_info.
<tetron> so in arvados/__init__.py we should put a test at the top
<brett> Have arvados/__init__.py raise an ImportError or something. Don't see much point warning when it's never going to work.
<tetron> and bail out if sys.version_info isn't 2.7 or greater
<tetron> I'll add a ticket to bug triage
<brett> We should just check that major and minor are exactly 2.7.
<brett> It's not going to work under Python 3 either.
<tetron> er
<tetron> yes
<brett> Well, I guess for total correctness check 2.7 <= v < 3.0.
<tetron> I was thinking more about a hypothetical Python 2.8
<brett> It's never going to happen but sure.
<tetron> brett: #5137
Related issues
Updated by Brett Smith about 9 years ago
In order for the proposal to work, the old version of Python has to be able to compile and run arvados/__init__.py
up through where the check is. Otherwise, users will get some kind of SyntaxError instead. The syntax currently in that file is pretty conservative, but the more conservative we make it, the better. The ternary operator and context managers ("with" statements) were added in Python 2.5. Syntax newer than that includes set literals and dictionary comprehensions.
At a first glance, I think we could make this file compile in all of Python 2.x if we flattened the ternary operator in logging setup.
Updated by Tom Clegg about 9 years ago
- Target version changed from Bug Triage to 2015-03-11 sprint
Updated by Ward Vandewege about 9 years ago
- Target version changed from 2015-03-11 sprint to 2015-04-01 sprint
Updated by Ward Vandewege about 9 years ago
- Target version changed from 2015-04-01 sprint to Arvados Future Sprints
Updated by Ward Vandewege over 3 years ago
- Target version deleted (
Arvados Future Sprints)