OK to require Python 3.6?

Following the recent discussion about Python 2, I was wondering about the other end of the scale: is it fine to require Python 3.6 in your game? Ours currently does – although it wouldn't be too hard to change – due to the use of f-strings (which are, in my view, the best addition to Python since 3.0). Is this just a case of "Yes, but fewer people might play it." or do most people have 3.6 now anyway?

(log in to comment)

Comments

Python 3.6? All the cool kids require Python 3.7. ;-)

PyWeek entries are rated by other participants so I'd guess they're more likely to be up-to-date than casual Python users or non-programmers.

I notice you got some crashes trying to save this post. It is a Unicode handling problem I've already tried to fix, but I wrote b"" instead of u"", which is the exact opposite of what meant to do. Turns out my brain doesn't work right during PyWeek. Should be fixed now.
OK, thanks! I was surprised to get back and find it's actually been answered; I thought my post was lost to the void! I suppose currently people have to have Python 2 and 3, and if you've got Python 3 you may as well have 3.6( or 7(or 8)). I think I'll leave it as it is, with
if sys.version_info < (3, 6):
    raise RuntimeError('Requires Python 3.6+ (use of f-strings)')
at the start of main.py.

Yep, this is good advice. Something I've found in previous PyWeeks is that not everyone reads the README, and they may assume your game is just broken, so it's a good idea to be defensive. This code checks the Python version and also catches missing dependencies:

https://github.com/larryhastings/pyweek24/blob/master/run_game.py

Python 3.6 is given with a lot of distributions