在Ubuntu上,如何安装较新版本的python并保留较旧的python版本?

时间:2010-06-16 03:18:13

标签: python ubuntu installation gnu configure

背景:

  • 我正在使用Ubuntu
  • 较新的python版本不在apt-get存储库(或synaptic)
  • 我打算从命令行调用“python”时将旧版本保留为默认python
  • 我计划使用pythonX.X调用新的python(X.X是新版本)。

鉴于背景,你如何安装较新版本的python并保留较旧的python版本?


我从python.org下载了“从源代码安装”* .tgz包。自述文件非常简单,并说“执行三个命令:./ configure; make; make test; sudo make install;”

如果我执行上述命令,安装是否会覆盖旧版本的python(我肯定需要旧版本)?

4 个答案:

答案 0 :(得分:10)

从源代码安装时,默认情况下,安装进入/usr/local - 特别是可执行文件变为/usr/local/bin/pythonX.Y,其中包含一个名为/usr/local/python的符号链接。 Ubuntu自己的安装位于/usr/(例如/usr/bin/python),因此新安装不会覆盖它。请注意PATH环境变量在/usr/local/bin之前没有/usr/bin,否则python 的简单提及将执行新的{{1}}不是旧的。

答案 1 :(得分:3)

我只是假设“更新版本”是指“发布的版本比Ubuntu中的默认版本更新”。这意味着python 3.1,is in the repositories

sudo apt-get install python3

Ubuntu存储库中的不同python版本可以很好地共存。如果您使用的是比Lucid更早的Ubuntu版本,则必须升级您的操作系统或启用Universe存储库才能让python3显示在您的包管理器中。

如果你的意思是python 2.7,你应该知道它尚未发布。

答案 2 :(得分:1)

刚刚在Ubuntu 8.04上安装了Python2.6 首先获取所有必需的依赖项“apt-get build-dep python2.5”(python 2.6依赖项与2.5相同)
应用http://www.lysium.de/sw/python2.6-disable-old-modules.patch的补丁:
patch -p1< python2.6-disable-old-modules.patch

然后./configure --prefix = / opt / python2.6
使
sudo make install

sudo ln -s /opt/python2.6/bin/python2.6 /usr/local/bin/python2.6
它似乎只是工作,默认Python版本仍然是2.5。 我保存在here,希望这有帮助。

答案 3 :(得分:0)

轻松的方式

  • 从菜单
  • 打开'Synaptic Package Manager'
  • 在“快速搜索”字段中搜索“python”
  • 选择并安装您选择使用的任何版本的python

要使用特定版本的python(例2.4),只需键入python,后跟终端中的版本号:

python2.4 run_some_script.py

要将库安装到特定版本的python,只需以相同的方式运行setup.py。

实施例。安装到python2.5

python2.5 setup.py install

在这个时代,除非你直接开发它或者你正在使用一个前沿的非稳定分支,否则真的没有必要从源代码构建或担心依赖性跟踪大多数程序。

如果更新的python稳定版本没有出现在apt-get或synaptic中,请更新您的存储库。

  • 在Synaptic中按ctrl-r
  • 在apt类型'apt-get update'

注意:你真的应该能够从2.4 - 3.1获得python的所有稳定版本,除了3.0(因为3.0主要是因为'扔掉'而被抛弃特定分支的变化的性质和3.1)的出现。