Le 26/06/2014 20:34, Gregory Szorc a écrit : > I'm an advocate of getting users and projects to move to modern Python > versions. I believe dropping support for end-of-lifed Python versions is > important for the health of the Python community. If you've done any > amount of Python 3 porting work, you know things get much harder the > more 2.x legacy versions you need to support. > > I led the successful charge to drop support for Python 2.6 and below > from Firefox's build system. I failed to win the argument that Mercurial > should drop 2.4 and 2.5 [1]. A few years ago, I started a similar > conversation with the LLVM project [2]. I wrote a blog post on the > subject [3] that even got Slashdotted [4] (although I don't think that's > the honor it was a decade ago). > > While much of the opposition to dropping Python <2.7 stems from the RHEL > community (they still have 2.4 in extended support and 2.7 wasn't in a > release until a few weeks ago), a common objection from the users is "I > can't install a different Python" or "it's too difficult to install a > different Python." The former is a legit complaint - if you are on > shared hosting and don't have root, as easy as it is to add an alternate > package repository that provides 2.7 (or newer), you don't have the > permissions so you can't do it. > > This leaves users with attempting a userland install of Python. > Personally, I think installing Python in userland is relatively simple. > Tools like pyenv make this turnkey. Worst case you fall back to > configure + make. But I'm an experienced developer and have a compiler > toolchain and library dependencies on my machine. What about less > experienced users or people that don't have the necessary build > dependencies? And, even if they do manage to find or build a Python > distribution, we all know that there's enough finicky behavior with > things like site-packages default paths to cause many headaches, even > for experienced Python hackers. > > I'd like to propose a solution to this problem: a pre-built distribution > of CPython for Linux available via www.python.org in the list of > downloads for a particular release [5]. This distribution could be > downloaded and unarchived into the user's home directory and users could > start running it immediately by setting an environment variable or two, > creating a symlink, or even running a basic installer script. This would > hopefully remove the hurdles of obtaining a (sane) Python distribution > on Linux. This would allow projects to more easily drop end-of-life > Python versions and would speed adoption of modern Python, including > Python 3 (because porting is much easier if you only have to target 2.7). > > I understand there may be technical challenges with doing this for some > distributions and with producing a universal binary distribution. I > would settle for a binary distribution that was targeted towards RHEL > users and variant distros, as that is the user population that I > perceive to be the most conservative and responsible for holding modern > Python adoption back. > > [1] > http://permalink.gmane.org/gmane.comp.version-control.mercurial.devel/68902 > [2] http://lists.cs.uiuc.edu/pipermail/llvmdev/2012-December/056545.html > [3] > http://gregoryszorc.com/blog/2014/01/08/why-do-projects-support-old-python-releases/ > > [4] > http://developers.slashdot.org/story/14/01/09/1940232/why-do-projects-continue-to-support-old-python-releases > > [5] https://www.python.org/download/releases/2.7.7/ Just today I installed Anaconda (https://store.continuum.io/cshop/anaconda/) on Linux servers running CentOS 6.4. It installs in a directory anywhere in the filesystem (no need to be root), and using it globally is just a matter of prepending a folder to the PATH and it was done. Of course Anaconda is oriented towards scientific applications but it is a proof that a pre-build binary installer works and can be simple to use. If someone wants to try it without all scientific libraries they provide Miniconda (http://conda.pydata.org/miniconda.html) which contains only python and the python package manager conda. Joseph
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4