在 Ubuntu 8.04 服务器上安装 Python 2.6 的最快方法是什么?

And*_*rov 4 linux ubuntu aptitude apt

我刚刚设置了一个 Ubuntu 服务器,它似乎带有 Python 2.5。我一直在用 Python 2.6 开发我的应用程序,但apt-cache search ^python似乎不包含 2.6。更新存储库apt-get以包含具有 Python 2.6的存储库的最快方法是什么?

(答案混在回复/回复评论中:最快的方法是升级到 Ubuntu 9.04 或更高版本)

pQd*_*pQd 7

apt-get update; apt-get install python2.6
Run Code Online (Sandbox Code Playgroud)

对我有用 [ jaunty ],但你可能有旧版本的 ubuntu。捣鼓了一下用的/etc/apt/sources.list和apt-get颇升级所描述 这里


dbr*_*dbr 6

有一个适用于 Ubuntu 的 Python 2.6 软件包,http://packages.ubuntu.com/search?keywords=python2.6,但仅适用于jauntykarmic发行版。您可能会获取该.deb文件并将其安装在以前的版本上,但事情可能会中断..

如果apt-get你失败了,从源代码编译是微不足道的:

# change this to latest on http://python.org/download/
PY_TWOSIX="http://python.org/ftp/python/2.6.2/Python-2.6.2.tgz"

# Required to compile anything - this is the only Ubuntu specific line
sudo apt-get install build-essential

# Download/extract the Python source file set in PY_TWOSIX
cd /tmp/
wget $PY_TWOSIX -O py.tgz
gunzip py.tgz
tar -xf py.tar
cd Python-*

# Configure, build and install it into /usr/local/python/2.6.2/
./configure --prefix=/usr/local/python/2.6.2
make
sudo make install

# Link python binary into /usr/local/bin/ as python2.6
sudo ln -s /usr/local/python/2.6.2/bin/python /usr/local/bin/python2.6
# you can also at add the directory to your $PATH rather than using sym-links
Run Code Online (Sandbox Code Playgroud)

当然,您应该尝试通过您的包管理器安装所有内容(以便您获得自动更新等),但我倾向于保留旧版本的 Python,并且将它们放入/usr/local/python/根本不应该干扰apt-get


Dav*_*ley 6

如果某个软件包在您的 Ubuntu 版本中不可用,则可以很容易地从更新的版本向后移植该软件包。例如:

让我们从安装构建任何包所需的一些包开始:

apt-get install build-essential devscripts

接下来我们得到源码包。在这种情况下,我们转到http://packages.ubuntu.com/jaunty/python2.6并查看右侧并在“下载源包”下看到三个链接。你应该得到一个 .tar.gz、.diff.gz 和一个 .dsc 文件。

接下来我们解压源码:

dpkg-source -x python2.6_2.6.2-0ubuntu1.dsc

这会将所有内容提取到一个目录中。如果您切换到该目录并查看我们是否可以使用当前安装的软件包构建它。

解构 -us -uc -b

这将需要一些时间并在源目录上方的目录中为您构建一些包。或者,它会抱怨缺少构建依赖项。如果幸运的话,您可以安装它们并再次尝试构建包。如果您不走运,则该软件包需要更新的软件包。您可以尝试按照相同的过程构建构建依赖项,或者您可以尝试在 debian/control 中更改依赖项版本。如果你发现你最终构建了太多的包,我只会做后者,因为包没有经过这些更改的测试。

一旦你得到你的包,你就可以运行

dpkg -i foo.deb bar.deb

如果它抱怨依赖项,您可以运行:

apt-get install -f

这应该解决你的依赖问题。如果没有,您可能需要向后移植更多软件包。