Answers:
不,在Lucid中将 2.7定义为默认的Python解释器并不安全。而且我认为将来不会。
一个版本中没有任何软件的主要版本升级。
因此python2.7不会取代2.6作为默认解释器。这种升级仅在版本之间进行,尤其是在LTS内,只有所谓的稳定版本升级,即错误修正和与安全相关的升级。
但是,使用python2.7绝对安全,将您的解释器定义为,#!/usr/bin/python2.7
并让用户make altinstall
在python2.6上与python2.6一起使用
不能升级到Maverick的VPS遇到了同样的问题(即使新的LTS图像也不能总是按时提供)。Marius的回答为我入门提供了窍门,但应将其扩展为:
如果您遇到我的情况,那么简单的跑步建议add-apt-repository
将对您不起作用。因此,让我们以老式的方式进行操作:
打开文件/etc/apt/sources.list
(您需要root特权;如果您在外壳上,则可能意味着运行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
打开服务器上的外壳,然后输入以下内容:
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的版本,所以你不必担心)。
wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7
。然后让点子 sudo python2.7 -m easy_install pip
之后sudo python2.7 -m easy_install --upgrade pip
。必须使用--no-check-certificate选项,以克服wget关于SSL证书的投诉。(见pypi.python.org/pypi/setuptools#unix-wget)
现在libpython2.7.so.1.0
链接到我的python2.7等,看起来似乎更快乐。
我需要弄清楚的最后一部分是mod_wsgi
安装。如果您只是发出:
$ apt-get install libapache2-mod-wsgi
然后这将被编译为Python2.6 :(
$ ldd /usr/lib/apache2/modules/mod_wsgi.so
libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00178000)
因此,我在这里遵循了Gork-Zope提供的说明。
我终于有一个工作服务器。谢谢。
我不这么认为,因为它将需要更改与10.04版本关联的许多程序和库。实际上,Ubuntu中的许多工作都是使用特定的python版本完成的。将其更改为python会更改很多系统文件。
对于10.10,仅通过安装python2.7(您也可以安装3和3.1)就可以从synaptic / aptitude中获得它,但是对于10.04,则没有任何工作可用于10.04。
10.10默认使用python 2.6。很抱歉,如果答案不是肯定的,只是想让您对更改有所了解。
编辑-将Python 2.7默认更改为Python 2.6,因为已从下面的注释中对其进行了两次检查。谢谢。
easy_install-2.7 -U pip
强制安装2.7版本。但是,谢谢,这是一个很大的帮助!