在Linux中升级Python

2 投票
3 回答
25414 浏览
提问于 2025-04-15 14:07

我有一个使用老版本Python(2.4.3)的Linux虚拟私人服务器(VPS)。这个版本没有UUID模块,但我在一个项目中需要用到它。我的选择是升级到Python 2.6,或者找办法让UUID在旧版本上工作。可是我对Linux完全不熟悉,不知道怎么安全地升级Python,或者怎么让已经安装的版本支持UUID模块。哪个选项更好,我该怎么做呢?

3 个回答

0

最好的解决办法是在你选择的目录下安装python2.6,这样你就可以使用很多很棒的功能,而且内存管理也更好(因为python2.4有个臭名昭著的内存泄漏问题)。

我在我的两台电脑上安装了好几个版本的python,我发现最好的做法是创建两个目录:

$HOME/usr-32

$HOME/usr-64

这两个目录分别对应于操作系统的32位和64位版本(我在32位和64位的Linux之间共享$HOME)。

在每个目录里,我为每个应用程序或程序都创建了一个单独的目录,比如:

ls ~/usr-64/python-2.6.2/
bin  include  lib  share

这样做完全可以避免版本之间的冲突,并且便于携带(你可以使用USB闪存驱动器等)。

在之前的例子中,python 2.6.2是通过以下选项安装的:

./configure --prefix=$HOME/usr-64/python-2.6.2

6

升级Python最安全的方法是把它安装到一个不同的位置,也就是不要放在系统默认的路径下。

要做到这一点,你需要先下载Python的源代码,然后运行这个命令:

./configure --prefix=/opt

(假设你想把它安装到/opt这个地方,这里通常用来放一些不依赖于系统的东西)

我这么说的原因是,有些系统库可能会依赖于你当前的Python版本。

另外一个原因是,当你在做自己的开发时,能够控制你使用的库(或者解释器)的版本会更好,这样就不会因为操作系统的更新而导致之前正常工作的东西突然出问题。控制升级总比应用程序突然崩溃要好。

2

UUID模块是一个独立的包,适用于Python 2.3及以上版本:

http://pypi.python.org/pypi/uuid/1.30

所以你可以选择在你的Python 2.4中安装这个模块,或者直接安装Python 2.6。如果你的系统里没有这个模块,那么从源代码编译Python其实很简单。在编译Python之前,先查看一下需要的库,确保你想要的库都已经安装好。就这些。

撰写回答