在Ubuntu 12.04上升级到python 2.7.5


9

python v 2.7.3默认情况下,Ubuntu 12.04附带。我想将其升级到v 2.7.5。我尝试了此问题中给出的说明,

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

cd ~/Downloads/
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz

tar -xvf Python-2.7.5.tgz
cd Python-2.7.5

./configure
make
sudo make altinstall

最后一条命令失败,并显示以下错误:

...
Compiling /usr/local/lib/python2.7/xmlrpclib.py ...
Compiling /usr/local/lib/python2.7/zipfile.py ...
make: *** [libinstall] Error 1

我该如何升级?


3
您是否非常确定需要升级到2.7.5?在Ubuntu中,所有错误修正都被反向移植到2.7.3。您真的很想避免从源代码进行编译的所有麻烦。请提供安装2.7.5的具体原因。在此站点上,有关Python安装失败的问题是日常事务,很常见的是它是由源安装引起的。参见例如askubuntu.com/q/323248/88802
gertvdijk 2013年

1
我使用错误的方式使用了程序包,但问题仍然存在,而且我真的不理解downvote,没有给出任何解释。
加百利

当您跑步sudo make **install**而不是跑步时会发生什么sudo make **altinstall**?你得到同样的错误吗?
凯文·鲍文

现在,我害怕实际尝试您的解决方案,因为我已经听过很多次了,这会破坏我的系统。我会将您的答案标记为已接受,因为它看起来确实很完整。谢谢。
加百利

2
@gabriel maggotbrain的解决方案是一个非常好的解决方案。它允许您在pyenv中安装您选择的版本。对您系统的Python不会造成任何伤害。对于以后的问题,我会记住。:)
gertvdijk

Answers:


13

当然,可以从源代码安装,但是出于以下几个原因,我会犹豫从源代码升级我的Ubuntu系统的python软件包:

  1. 这样做可能会通过从源代码进行直接编译来破坏系统(我不确定Ubuntu怎样自定义其Python软件包构建)。

  2. 我担心将来使用存储库中的模块可能会出现问题。

有一个PPA看上去很活跃(2.7.x火车上次建造于今年4月),但PPA尚未具有2.7.5建造。您可能想对维护者执行ping操作,以查看他们的未来计划是什么,以及他们是否打算包括2.7.5的计划。如果可能的话,我建议您不要从源代码安装它。与任何新软件一样,我建议您首先在测试系统上进行构建。

另一个选择是使用沙盒(pyenv)运行任何新的未经测试的软件包。直接安装到系统上可能会对机器的运行产生不利影响。

pyenv软件包将允许您在包装盒上安装非系统Python版本,而不会影响安装在计算机上的主要Python软件包(同样:您的系统依赖于当前安装的Python版本,升级可能会破坏系统)。以前,建议使用Pythonbrew从系统中隔离python软件包,但此后不推荐使用,并已被该pyenv软件包取代。

pyenv软件包提供以下功能:

  • 使您可以按用户更改全局Python版本。
  • 提供对每个项目的Python版本的支持。
  • 允许您使用环境变量覆盖Python版本。
  • 一次搜索多个版本的Python中的命令。

安装

  1. 将pyenv签入〜/ .pyenv。

    git clone git://github.com/yyuu/pyenv.git .pyenv
  2. 将〜/ .pyenv / bin添加到$ PATH中,以访问pyenv命令行实用程序。

    echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile

    Zsh注意:修改~/.zshenv文件而不是~/.bash_profile

  3. 将pyenv init添加到您的外壳中以启用填充和自动补全功能。

    echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

    Zsh注意:修改~/.zshenv文件而不是~/.bash_profile

  4. 重新启动外壳程序,以便路径更改生效。您现在可以开始使用pyenv。

    exec $SHELL
  5. 将Python版本安装到〜/ .pyenv / versions中。例如,要安装Python 2.7.5,请下载并解压缩源代码,然后运行:

    pyenv install 2.7.5

    注意如果需要传递配置选项以从源代码进行构建,请使用CONFIGURE_OPTS环境变量。

  6. 重建匀场二进制文件。每当您安装新的Python二进制文件时(例如,在安装新的Python版本或安装提供二进制文件的软件包时),都应执行此操作。

    pyenv rehash

1
pyenv之所以辉煌,有很多原因。初始设置后,以最少的麻烦就可以极大地帮助我进行实验。
Fahad Yousuf

是否要从特定用户的home文件夹运行?如何为每个用户安装此软件?我可以安装./pyenv在里面,/usr/local/bin还是一个坏主意?
生物危害2014年
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.