8

背景:

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

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


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

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

4

4 回答 4

10

当您从源代码安装时,默认情况下,安装会进入/usr/local- 特别是可执行文件会/usr/local/bin/pythonX.Y带有一个名为/usr/local/python. Ubuntu 自己的安装在/usr/(例如,/usr/bin/python)中,因此新安装不会覆盖它。注意PATH环境变量没有/usr/local/binbefore /usr/bin,否则简单的提及python 执行新的,而不是旧的。

于 2010-06-16T03:20:50.180 回答
3

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

sudo apt-get install python3

Ubuntu 存储库中的不同 python 版本可以相互共存。如果您使用的 Ubuntu 版本早于 Lucid,则必须升级您的操作系统或启用 Universe 存储库,以便 python3 显示在您的包管理器中。

如果你的意思是 python 2.7,你应该知道它还没有发布。

于 2010-06-16T03:25:34.517 回答
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
补丁 -p1 < python2.6-disable-old-modules.patch

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

sudo ln -s /opt/python2.6/bin/python2.6 /usr/local/bin/python2.6
似乎可以正常工作,默认的 Python 版本仍然是 2.5。我把它保存在这里,希望这会有所帮助。

于 2010-06-16T04:44:29.120 回答
0

简单的方法

  • 从菜单中打开“突触包管理器”
  • 在“快速搜索”字段中搜索“python”
  • 选择并安装您选择使用的任何版本的 python

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

python2.4 run_some_script.py

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

前任。安装到python2.5

python2.5 setup.py install

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

如果 apt-get 或 synaptic 中没有显示较新的 Python 稳定版本,请更新您的存储库。

  • 在突触按 ctrl-r
  • 在 apt 类型“apt-get update”中

注意:您确实应该能够从 2.4 到 3.1 获得除 3.0 之外的所有稳定版本(因为 3.0 主要是由于该特定分支上更改的“丢弃”性质和 3.1 的出现而被抛弃的) )。

于 2010-06-17T01:16:50.417 回答