5 ms·
What I'm describing was just a desire for a very simple "this script requires python version >= X" error, with the ability to write unfettered python version X
by dec0dedab0de 5y ago
What I'm describing was just a desire for a very simple "this script requires python version >= X" error, with the ability to write unfettered python version X code below it, in a single file script.
import sys
if sys.version_info.major < 3:
raise Exception("this script requires python version >= 3")
plus an extra line or two if you're worried about minor versions.
- tyingq 5y agoNow put an f-string (or other new feature that pops a syntax error) below that: print(f"whee") And run it with python2, or a python3 < 3.6.
- dec0dedab0de 5y agoahh, I see now. I would add an edit to my original comment, but it's too late.
- jaster 5y ago> cat test.py import sys if sys.version_info.major < 3: raise Exception("this script requires python version >= 3") print(f"test") > python2 test.py File "test.py", line 5 print(f"test") ^ SyntaxError: invalid syntax Doesn't seem that simple
- int_19h 5y agoIt needs to also do: from __future__ import absolute_import, division, print_function, unicode_literals This will give you syntax much closer to Python 3 in Python 2.7. The remaining differences can be papered over with function and class helpers. Well, except for metaclasses, but I doubt you'd have need for those in a single-file script.
- deleted 5y ago[deleted]