【问题标题】:On Ubuntu, how do you install a newer version of python and keep the older python version?在 Ubuntu 上,如何安装较新版本的 python 并保留较旧的 python 版本?
【发布时间】:2010-06-17 09:23:28
【问题描述】:

背景:

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

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


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

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

【问题讨论】:

    标签: python ubuntu installation gnu configure


    【解决方案1】:

    当您从源代码安装时,默认情况下,安装进入/usr/local——尤其是可执行文件变为/usr/local/bin/pythonX.Y,并带有一个名为/usr/local/python 的符号链接。 Ubuntu自己的安装在/usr/(例如/usr/bin/python),所以新安装不会覆盖它。注意PATH 环境变量在/usr/bin 之前没有/usr/local/bin,否则简单提及python 执行新的,而不是旧的。

    【讨论】:

    • 可能你也想使用“make altinstall”而不是“make install”,那么它就不会创建/usr/local/bin/python(只有pythonX.Y)
    • 我还注意到有些人建议将第一个“配置”步骤更改为使用“./configure --prefix NEW_PATH”。更改 --prefix 选项实际上有什么作用?你为什么要改变它?
    • 请忽略上述问题。答案由“./configure --help”解释。配置帮助还解释了默认安装在哪里(这回答了我的另一个问题“你如何找出默认安装目录是什么”)。
    【解决方案2】:

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

    sudo apt-get install python3
    

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

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

    【讨论】:

    • 一般来说,这并不总是可能的。例如,现在发布了 3.2,但不在存储库中。正因为如此,我必须弄清楚如何从源代码安装,我想我还不如从源代码安装 所有我的 Python 版本,这样它们就可以始终如一地定位和设置。
    【解决方案3】:

    刚刚在 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

    然后 ./configure --prefix=/opt/python2.6
    制作
    须藤制作安装

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

    【讨论】:

    • 我转到了您答案底部的链接。您安装 python 的方式似乎使用“easy_install”。 “easy_install”与我正在执行的“从源”安装相比有哪些优势?
    • 我认为 easy_install 部分用于安装第三个 Python 包,例如 ipython。 easy_install 不需要下载,tar zxf,setup.py 安装,否则我认为这只是个人喜好,从源代码构建也可以。但我认为它与安装 Python 本身没有任何关系。也许我的理解不适合我蹩脚的英语?
    【解决方案4】:

    简单的方法

    • 从菜单中打开“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
    

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

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

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

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

    【讨论】:

      猜你喜欢
      • 2020-02-29
      • 1970-01-01
      • 2017-11-27
      • 2017-08-16
      • 1970-01-01
      • 2020-11-03
      • 1970-01-01
      • 2011-11-03
      • 2016-08-17
      相关资源
      最近更新 更多