如何在Ubuntu 12.04 LTS上使用最新的Python 2.7.x“正确的方式”?


28

我的项目需要在Python版本上保持最新,但是12.04LTS目前仍停留在2.7.3上,即使现在已经发布了2.7.5。有没有办法可以在不进行手动编译的情况下保持最新状态?我们需要继续使用基于软件包的Python安装。处理此问题的“正确”方法是什么?

谢谢!

Answers:


14

编辑: *正如@Anthon在评论中指出的那样,此PPA不包括适用于Ubuntu 12.04(精确)的Python 2.7。见质朴,未来的答案下面,这时候我最初的反应,我不相信存在。

默认情况下,处理未包含在其Universe中的程序包的首选“ Ubuntu”方法是使用PPA(第三方存储库),而不是手动编译。您可以通过这种方式维护程序包管理,更新和依赖性解析的好处。

但是,如果这是您要求的一部分,则不正式支持第三方存储库。

DeadSnakes(获取)PPA维护系统软件包管理中未包括的Python版本。

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python2.7

您可以在此处阅读有关此PPA的更多信息。

但是,在您的情况下,它不包括Python 2.7,因为DeadSnakes仅提供未包含的主要版本,也不提供点发行版。由于Ubuntu已经为Ubuntu 12.04打包了2.7,DeadSnakes将不提供此功能。

在这种情况下,最好不要在Ubuntu中使用本机打包。请参见DeadSnakes的节录;

Using third-party modules packaged for Debian or Ubuntu with the Python
interpreters from this repository is a bit of a mixed bag. For Python 2, Python
modules from the official repositories will not work, as a consequence of how
Python packaging works in Debian. For Python 3 on the other hand, all
pure-Python module packages at least should be available; compiled extension
modules will not work however.

In general, you're better off installing Python modules using the common Python
packaging tools rather than the system package manager. For an introduction into
the Python packaging ecosystem and its tools, refer to;
    http://guide.python-distribute.org/

A few of these tools might also be provided in this repository as a convenience.

如果您绝对需要使用操作系统的程序包管理,并且无法使用DeadSnakes提供的程序包或本地迁移到其他版本的Ubuntu,那么您只能剩下两个选择。

  1. 您可以请求将Python 2.7.5的backport移植到Ubuntu 12.04。
  2. 您可以使用所需的Python版本创建自己的PPA

旁注AskUbuntu是一个比SuperUser通常更好的StackExchange,可以将这样的内容发布到其中。


很好,谢谢!根据您的经验,DeadSnakes是否维护得当?
威尔

2
是的,它似乎很受欢迎并且维护得很好。我很少使用它。
krondor

1
对于10.04,它只有2.7.4,对于12.04,它只有2.7.4
Anthon 2013年

1
@Anthon你是正确的,我没有注意到。DeadSnakes不会替代主要版本,因此,由于Ubuntu已捆绑了Python 2.7,Deadsnakes将不会为该系列提供发行版本。相反,它们提供了3.3的精确度。在这种情况下,这对OP没有帮助。
krondor

在14.04,我不得不使用ppa:fkrull/deadsnakes-python2.7(请注意后缀)
Craig Younkins '17

37

费利克斯·克鲁尔也保持(如在未维护现在)PPA与最新的Python 2.7版本的Ubuntu精确,忠实的和乌托邦。您可以使用与krondor描述相同的过程,但是可以替代地或额外地使用此PPA :ppa:fkrull/deadsnakes-python2.7

sudo add-apt-repository ppa:fkrull/deadsnakes-python2.7
sudo apt-get update
sudo apt-get install python2.7

这应该是公认的答案。
cr8ivecodesmith

1
它现在有一个“已停产”警告,但对于仍运行旧版Ubuntu的计算机来说效果很好。该PPA提供的版本2.7.12-1~precise12.7.12-1~trusty12.7.10-0+utopic1(为12.04,14.04和14.10)。
mivk

5
请注意,frull / deadsnakes-python2.7 ppa已停产。对于最新的Python 2.7版本(如2.7.13),请尝试使用jonathonf / python-2.7 ppa。
socrates

警告-这在升级发行版(12-> 14)时给我造成了问题。.我留着一个真正死了的python ..确保在升级前撤消此
ppa。–

好,对于任何发行版更新和ppas都是如此。
时髦的未来
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.