[GTALUG] Python 2 vs python 3 debate

Clifford Ilkay clifford_ilkay at dinamis.com
Tue Dec 16 21:22:41 UTC 2014


On 12/16/2014 01:06 PM, D. Hugh Redelmeier wrote:
> RHEL5 and RHEL6 have very long support cycles.  It is unreasonable to
> claim those as requirements.  In fact, they are designed to be stable.
> Doing new development on and for them is kind of a contradiction.
> OK, I admit that until 7.1 is out, maybe 6 can be defended.
>
> Fedora 20 seems to have Python 2.7.5 and 3.3.2.
> Centos 6.6 only has python 2.6.6
> Centos 5.11 only has Python 2.4.3

That makes Centos 6.6 and 5.11 pretty much useless for deploying modern
Django web applications if we're to rely solely on the distro-supplied
Python. Fortunately, there is a relatively easy way to work around that
also addresses the Python 2 vs Python 3 issue. We only deploy Python
applications using virtualenv
<https://virtualenv.readthedocs.org/en/latest/virtualenv.html>, which
"is a tool to create isolated Python environments". We can deploy any
version of Python we want in that virtualenv and it will be completely
isolated from the system-wide Python. This is useful not just for
dealing with Python version issues but also library version issues. For
instance, we have multiple versions of Django deployed for projects of
various vintage. If we relied on the distro-supplied Django package,
we'd have to upgrade every Django project at the same time or dedicate a
machine, real or virtual, for each Django version, neither of which are
viable options.

The claim that deploying Python 2 and Python 3 on the same machine is a
"non-starter" points to a fundamental lack of understanding of how
Python applications are actually deployed. This is really much ado about
nothing.

-- 
Regards,

Clifford Ilkay
Dinamis

+1 647-778-8696



More information about the talk mailing list