将 PPA 添加到你的源中

将 PPA 添加到你的源中

由于 Ubuntu 10.04 是 LTS 版本,它是否支持 python 2.7 作为默认软件包维护版本,或者至少在将来会有一个 python2.7 软件包?

由于这将是最后一个主要的 Python 2.x 版本,并且打算长期保留,所以我决定使用它。我从源代码编译了它(当然是在构建 deps 之后),但偶尔会发现一些小问题。

将我编译的 python 2.7 定义为默认值是否安全,因为有一些分发应用程序可以在 python 上运行。

答案1

遇到了同样的问题,VPS 无法升级到 Maverick(甚至新的 LTS 图像也并不总是按时提供)。马吕斯的回答帮我入门了,但还应该扩展:

将 PPA 添加到你的源中

如果你和我的情况一样,跑步这个简单的建议add-apt-repository对你不起作用。所以让我们用老办法来做吧:

  1. 打开文件/etc/apt/sources.list(您需要root权限;如果您在shell上,这可能意味着运行sudo vim /etc/apt/sources.list)。

  2. 一直转到文件底部(如果使用vim,请按 切换到插入模式i)并添加以下几行:

    deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    
  3. 保存并退出(在vim:输入:wq)并返回到 shell。

  4. 输入以下内容(您可以找到正确的密钥在 PPA;它是“技术细节”中斜线后面的部分 - 确保您输入的是正确的):

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C
    
  5. 现在输入以下内容来更新您的源列表:

    sudo apt-get update
    

安装并设置 Python 2.7

  1. 在你的服务器上打开一个 shell 并输入以下内容:

    sudo apt-get install python2.7 python2.7-dev
    
  2. 要开始easy_install工作,请获取distributebootscrap 脚本:

    curl -O http://python-distribute.org/distribute_setup.py
    python2.7 distribute_setup.py
    
  3. 最后,如果你打算做任何严肃的事情,你需要pip并努力:virtualenv

    easy_install-2.7 pip
    pip-2.7 install virtualenv
    

设置虚拟环境

  1. 为您的新环境创建文件夹并打开它:

    mkdir my_env && cd my_env
    
  2. 创建虚拟环境本身(点表示当前目录是环境的位置,如果跳过了上一步,请将其替换为正确的路径):

    virtualenv --no-site-packages --python=python2.7 .
    
  3. 激活环境。您会注意到 shell 提示符会发生变化,以反映活动环境:

    source bin/activate
    
  4. 现在,您在此 shell 中执行的任何操作都将使用虚拟环境文件夹中的脚本bin以及该环境的 Python 包。请记住,该选项--no-site-packages意味着您将从最小的包集开始(pip但包括),因此您需要安装所需的所有包。

  5. 完成后,停用环境(这是活动环境识别的命令):

    deactivate
    

-E您还可以通过传递选项将软件包安装到虚拟环境中pip(例如,pip install some-package -E /path/to/virtual/environment安装some-package到给定路径上的虚拟环境中)。请记住,您将安装几个不同的版本,pip与安装的不同 Python 版本相对应。

pip-2.7如果您想在虚拟环境外工作时安装 Python 2.7 的软件包,最好使用它(--python=python2.7我们传递的选项virtualenv意味着虚拟环境将使用它提供的工具的 Python 2.7 版本,因此您不必担心这一点)。

答案2

不,将 2.7 定义为默认 Python 解释器是不安全的在 Lucid 中。我不认为将来会出现这种情况。

  • 一次发布中没有任何软件的重大版本升级。

    因此 python2.7 不会取代 2.6 成为默认解释器。这种升级仅在版本之间进行,在一个版本内(尤其是 LTS),只有所谓的稳定版本升级,即错误修复和安全相关的升级。

但是,使用 python2.7 是完全安全的,将您的解释器定义为#!/usr/bin/python2.7并让用户make altinstall在 python 源上使用它进行安装,与 python2.6 一起

答案3

有一个 PPA使用为 Ubuntu 10.04 构建的 Python 2.7。它可能比从源代码构建更安全/更方便。

答案4

我不这么认为,因为它需要更改与 10.04 版本相关的许多程序和库。实际上,Ubuntu 中的许多工作都是使用特定的 Python 版本完成的。将其更改为 Python 会更改许多系统文件。

对于 10.10,只需安装 python2.7 即可从 synaptic/aptitude 获得它(您也可以安装 3 和 3.1),但对于 10.04,没有任何工作可以使它适用于 10.04。

10.10 默认使用 Python 2.6。如果答案不肯定,我很抱歉,我只是想让你了解一下这些变化。

编辑 - 将 Python 2.7 更改为 Python 2.6 作为默认值,因为它已从下面的评论中进行了双重检查。谢谢。

相关内容