如何在Ubuntu 14.4上将Python升级到2.7.9?


32

Ubuntu 14.4内置了Python 2.7.6,但是我想将其升级到2.7.9(它具有我想要的安全功能)。

那有可能吗?如果是这样,如何实现?


2
python 2.7的上游版本始终为2.7.6。检查发行版本号,然后检查更改日志(packages.ubuntu.com/source/trusty/python2.7),以查看是否已反向移植了这些安全更新。
罗杰·谢尔曼

Answers:


16

您可以使用pyenv:

 git clone https://github.com/pyenv/pyenv.git ~/.pyenv
 git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

然后加

   #   for PyEnv
  export PYENV_ROOT="$HOME/.pyenv"
  export PATH="$HOME/.pyenv/bin:$PATH"
  export PATH="$HOME/.pyenv/shims:$PATH"
  eval "$(pyenv init -)"

到.bash_profile,那么您可以看到要安装或更新的python版本:

pyenv install --list

想要python 2.7.10吗?你可以试试:

 pyenv virtualenv 2.7.10

希望它能对您有所帮助。


对于Ubuntu,该块在〜/ .bashrc中比在〜/ .bash_profile中更好地工作。然后执行“ $ SHELL”。
brendan

31

ppa:fkrull / deadsnakes是python2.7的最新版本

sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get upgrade

它将python升级到2.7.10


1
在开发机器(所有14.04台式机)中尝试过,非常好的选择。
Yonsy Solis

但是我发现它与我的应用程序不兼容。
就像

4
注意,依靠非官方的程序包和/或PPA,尤其是对于Ubuntu中Python之类的基础程序,会绕过重要的安全过程并可能导致许多问题。有些软件包明确依赖于官方软件包或版本。取而代之的是,您可能希望将virtualenv与最新版本的python一起用于所需的应用程序。另请参见在Ubuntu 14.04 LTS上升级到Python 2.7.9,并制作自己的.deb软件包进行部署
-Renoir

好。你是对的。几个月前,我放弃了自己的方法。
就像

3
这将升级您的所有软件包。
mpen

10

我不喜欢以前建议从各种PPA安装的答案。没有不尊重的意图,但是我不知道建造它们的人,我也不知道里面可能有什么。在有人必须回答安全专家的任何环境中,这种做法都会被拒绝。

我刚刚发现从源代码下载2.7.9并排安装是一个好的开始。这篇很棒的博客文章介绍了这些步骤。(在此处重新创建以符合堆栈溢出准则)

wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar xfz Python-2.7.9.tgz
cd Python-2.7.9/
./configure --prefix /usr/local/lib/python2.7.9
make
make install

测试版本是否有效

/usr/local/lib/python2.7.9/bin/python -V
Python 2.7.9

现在,我已经安装了2.7.9,可以直接在任何地方调用它或对其进行符号链接。(或将其复制到virtualenv等)

请注意,我是在收到不安全的平台警告和SNI Missing警告的情况下到达这里的。导致我在这里。我想很多人会通过相同的途径找到这个问题。如果这就是您在这里的原因,那么此片段也可能对您有用

pip install urllib3[secure]

实际上,这是更好的答案,尤其是如果您已经在使用virtualenv。我之所以认为这样更好,是因为它不依赖任何可能破坏其他功能的第三方应用程序或存储库。
安德烈

3

这是新的升级的第三方存储库:

sudo add-apt-repository ppa:jonathonf/python-2.7
sudo apt-get update
sudo apt-get install python2.7
python --version

2

您可以转到python.org并下载.tar.gz文件进行编译并安装。您将需要基本工具才能编译源代码。我不记得“ build-essential”软件包是否足够,但请尝试一下。


2

所需的版本已经在Vivid(预发行版)的Ubuntu中。如果您很勇敢,则可以混合发行版本并在Trusty下安装Vivid的Python版本。以下是适用于某些软件包的通用解决方案,我无法用Python保证。成功的机会约为50/50。但是,如果您找到了具有所需软件包版本的14.04 适当的反向移植存储库,那么它应该是一个更好的选择。

  1. 您的行中有“ ... trusty main”行/etc/apt/sources.list,将其复制两次,将“ trusty”更改为“ utopic”和“ vivid”。

  2. 运行apt-get update然后apt-get -t vivid install python2.7。在继续之前,请检查已安装的依赖项。如果怀疑系统有任何损坏(已删除的重要软件包等),请中止升级。

  3. 从中删除或散列这两行/etc/apt/sources.list

切勿在生产机器上这样做。备份操作系统,并准备引导介质以将其还原(如果需要)。预计升级会出现问题。您已被警告。

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.