20 May 2013 23:06
Python 3 support
Hi all- First, thanks for the great tool. I've been using Gentoo for about 10 years, and I use Catalyst to build custom Gentoo live CDs that contain extra software (e.g. netcat6, rsync, ddrescue, etc.). At some point in the past the stage3 tarballs only contained Python 3, though it looks like the 20130516 amd64 stage3 contains both 2.7 and 3.2. It's reasonable to assume that any current Gentoo system has a Python 3.2+ interpreter, so is there any objection to making Catalyst work on Python 3? The fewer things in the world that depend on Python 2, the better (in my opinion). Portage has supported Python 3 for some time and it makes sense for Catalyst to follow suit. I use Python 3 for all of my own work and have a reasonable amount of experience porting projects to Python 3. This typically involves a lot of code churn even when there aren't any logic changes -- every print statement has to be converted to calling the print function, for instance. Explicit conversion between bytes and str can require a bit more thought but isn't difficult. This conversion might require other miscellaneous cleanup, including some whitespace-only commits. Python 3 does not allow mixing tabs and spaces for indentation, and (e.g.) catalyst_support.py is a *mess* with indentation. PyCharm also notices things like unnecessary "\" line continuation characters, unused variables, mutable default arguments (e.g. catalyst_support.spawn's "env"), equality comparisons against None, and unreachable code (lines 183 - 220 of catalyst_lock.py). It looks like the project has mostly standardized on using tabs for(Continue reading)

RSS Feed