升级到python 3.2


22

我想使用lrucache随附的新functools,我目前正在使用不支持此功能的python 2.6,

我可以升级到python 3.2的最佳方法是什么?还是有其他方法可以在python 2.6发行版中使用3.2版本的itertools + functools

谢谢


也许这个食谱有用吗?
2010年

Answers:


24

由于许多程序和库都依赖于Python 2.6(或11.04中的python 2.7),并且python 2.x和3.x不兼容,因此您无法升级-您只能将python3与python 2.6一起安装:

Python 3.1

  • 幸运的是,存储库中提供了Python 3的稳定版本(在撰写本文时为3.1.2)。只需安装python3-all 软件包。

    您的翻译将/usr/bin/python3代替/usr/bin/python

    现在python3,当您要启动Py3而不是Py2时,也可以输入终端。


Python 3.2

  • 您可以从python.org下载任何版本的python源并运行

    ./configure
    make
    sudo make altinstall

    为了能够编译python源,您需要一些软件包:

    sudo apt-get install build-essential libncursesw5-dev libreadline5-dev libssl-dev libgdbm-dev libc6-dev libsqlite3-dev tk-dev libbz2-dev

    altinstall选项将与现有版本一起安装其他版本的python:

    这样做是有意义的,而不是下载源代码,而是经常从python dev存储库中签出最新的开发版本:

    svn checkout http://svn.python.org/projects/python/branches/py3k

    这将为您提供最新的不稳定版本。然后cd py3k/,您可以执行上面的编译过程。

    为此,当然需要安装svn 


1
我赞成,这个答案很好,但我想更深入。我可以将新的Python调用为'python3.2',这很好,但是我可以进行设置以便我的个人程序默认使用此版本(例如,将python3.2作为PATH上的第一个“ python”)而系统使用python2.6保持安全?我问不是因为我不喜欢输入“ python3.2”,而是因为有些
Jonathan Hartley

1
@Tartley您的评论在那里被切断了,为什么要这么做呢?
Stefano Palazzo

1
(糟糕,谢谢。)...但是因为某些工具具有bash脚本,例如bash脚本使用“ python xxx.py”调用其Python组件,并且它们只能在Python 3.2下运行。因此,我想创建一个环境(实际上,我希望它成为我的个人默认环境),在该环境中首先使用Python 3.2(及其所有脚本,工具等),同时将系统Python 2.6留给系统使用使用(实际上,我希望将其从我的个人经历中删除,以确保不会混淆我正在运行的Python)
Jonathan Hartley
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.