由于 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
对你不起作用。所以让我们用老办法来做吧:
打开文件
/etc/apt/sources.list
(您需要root权限;如果您在shell上,这可能意味着运行sudo vim /etc/apt/sources.list
)。一直转到文件底部(如果使用
vim
,请按 切换到插入模式i
)并添加以下几行:deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main
保存并退出(在
vim
:输入:wq
)并返回到 shell。输入以下内容(您可以找到正确的密钥在 PPA;它是“技术细节”中斜线后面的部分 - 确保您输入的是正确的):
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C
现在输入以下内容来更新您的源列表:
sudo apt-get update
安装并设置 Python 2.7
在你的服务器上打开一个 shell 并输入以下内容:
sudo apt-get install python2.7 python2.7-dev
要开始
easy_install
工作,请获取distribute
bootscrap 脚本:curl -O http://python-distribute.org/distribute_setup.py python2.7 distribute_setup.py
最后,如果你打算做任何严肃的事情,你需要
pip
并努力:virtualenv
easy_install-2.7 pip pip-2.7 install virtualenv
设置虚拟环境
为您的新环境创建文件夹并打开它:
mkdir my_env && cd my_env
创建虚拟环境本身(点表示当前目录是环境的位置,如果跳过了上一步,请将其替换为正确的路径):
virtualenv --no-site-packages --python=python2.7 .
激活环境。您会注意到 shell 提示符会发生变化,以反映活动环境:
source bin/activate
现在,您在此 shell 中执行的任何操作都将使用虚拟环境文件夹中的脚本
bin
以及该环境的 Python 包。请记住,该选项--no-site-packages
意味着您将从最小的包集开始(pip
但包括),因此您需要安装所需的所有包。完成后,停用环境(这是活动环境识别的命令):
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 作为默认值,因为它已从下面的评论中进行了双重检查。谢谢。