[Python-ideas] sys.py3k
Nick Coghlan
ncoghlan at gmail.com
Mon Nov 5 09:04:41 CET 2012
More information about the Python-ideas mailing list
Mon Nov 5 09:04:41 CET 2012
- Previous message: [Python-ideas] sys.py3k
- Next message: [Python-ideas] sys.py3k
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Mon, Nov 5, 2012 at 4:55 PM, Georg Brandl <g.brandl at gmx.net> wrote: > Am 04.11.2012 22:49, schrieb anatoly techtonik: >> if sys.py3k: >> # some py2k specific code >> pass >> >> >> Why? >> 1. readable >> 2. traceable >> >> Explained: >> 1. self-explanatory >> 2. sys.version_info >= (3, 0) or sys.version[0] == '3' is harder to >> trace when you need to find all python 3 related hacks > > This proposal is roughly 3 minor versions late. I can offer you > a sys.py3_4 attribute though... ;) Even better (http://packages.python.org/six/#package-contents): import six if six.PY3: # Ooh, Python 3 else: # Not Python 3 If anyone is trying to do single code base Python 2/3 support without relying on six, they're doing it wrong. Even bundling a copy (if you don't want to deal with dependency management issues) is a better idea than reinventing that wheel. If you *are* rolling your own (or need additional compatibility fixes that six doesn't provide), then all Python 2/3 compatibility hacks should be located in a small number of compatibility modules. They *shouldn't* be distributed widely throughout your codebase. Cheers, Nick. -- Nick Coghlan | ncoghlan at gmail.com | Brisbane, Australia
- Previous message: [Python-ideas] sys.py3k
- Next message: [Python-ideas] sys.py3k
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-ideas mailing list