python2.7 将来会在 10.04 中可用吗?

cro*_*jer 27 10.04 package-management python versions

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

由于它将是最后一个主要的 python 2.x 版本并且打算长时间保持原位,因此我决定使用它。我从源代码编译它(当然是在构建 deps 之后),但有时我会发现一些小问题。

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

Ala*_*lum 41

无法升级到 Maverick 的 VPS 也有同样的问题(即使新的 LTS 图像并不总是按时提供)。Marius 的回答让我开始了,但它应该扩展到:

将 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 
    
    Run Code Online (Sandbox Code Playgroud)
  3. 保存并退出(在vim: type 中:wq)并返回到 shell。

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

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C
    
    Run Code Online (Sandbox Code Playgroud)
  5. 现在输入以下内容以更新您的源列表:

    sudo apt-get update
    
    Run Code Online (Sandbox Code Playgroud)

安装和设置 Python 2.7

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

    sudo apt-get install python2.7 python2.7-dev
    
    Run Code Online (Sandbox Code Playgroud)
  2. 要开始easy_install工作,请获取distribute引导程序脚本:

    curl -O http://python-distribute.org/distribute_setup.py
    python2.7 distribute_setup.py
    
    Run Code Online (Sandbox Code Playgroud)
  3. 最后,如果你打算做任何严肃的事情,你想要pipvirtualenv工作:

    easy_install-2.7 pip
    pip-2.7 install virtualenv
    
    Run Code Online (Sandbox Code Playgroud)

设置虚拟环境

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

    mkdir my_env && cd my_env
    
    Run Code Online (Sandbox Code Playgroud)
  2. 创建虚拟环境本身(点表示当前目录是环境的位置,如果跳过上一步,请用正确的路径替换它):

    virtualenv --no-site-packages --python=python2.7 .
    
    Run Code Online (Sandbox Code Playgroud)
  3. 激活环境。您会注意到 shell 提示更改以反映活动环境:

    source bin/activate
    
    Run Code Online (Sandbox Code Playgroud)
  4. 无论您现在在此 shell 中做什么,都将使用虚拟环境bin文件夹中的脚本和该环境的 Python 包。请记住,该选项--no-site-packages意味着您从最少的软件包集开始(pip但是,包括),因此您需要安装您需要的所有软件包。

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

    deactivate
    
    Run Code Online (Sandbox Code Playgroud)

您还可以通过传递-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 版本的工具,因此您不必担心那个)。

  • 对于“安装和设置 Python 2.7”下的第 2 步,我必须执行 `wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | 须藤python2.7`。然后获取 pip `sudo python2.7 -m easy_install pip`,然后是 `sudo python2.7 -m easy_install --upgrade pip`。--no-check-certificate 选项对于解决 wget 关于 SSL 证书的投诉是必要的。(见 https://pypi.python.org/pypi/setuptools#unix-wget) (2认同)

Ste*_*zzo 16

不,在 Lucid 中将2.7 定义为默认 Python 解释器被认为是不安全的。而且我认为将来不会。

  • 一个版本中没有任何软件的主要版本升级。

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

但是,使用 python2.7 是完全安全的,将解释器定义为#!/usr/bin/python2.7并让用户make altinstall在 python 源代码上安装它,以及 python2.6


Mar*_*nas 10

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