Ubuntu中的多个Python版本

时间:2015-04-19 13:13:09

标签: python python-2.7 ubuntu ubuntu-14.04

在Ubuntu中,我曾经(两个小时前)有三个版本的python:

  • 2.7和3.4.0默认安装在' usr / bin'
  • 3.4.3我是从官方源代码手动构建的,我发现这是在&usr / local / bin'

(这意味着,在某个时刻,我能够同时运行python的树版本)

但是现在,3.4.0版本已经变成了3.4.3,现在我有一个2.7和两个3.4.3(一个在' / usr / bin'另一个在'的/ usr / local / bin中&#39)

这是在我试验PIP的时候发生的。所以我无法回溯我实际做的事情。

我的问题是:

  1. 为什么构建3.4.3没有升级现有的3.4.0,但是 相反,它在' / usr / local / bin'中进行了新的安装。 ?
  2. 您认为将3.4.0升级到3.4.3实际上发生了什么?
  3. 好吗'在我的系统中有两个相同版本(3.4.3)的python安装?

2 个答案:

答案 0 :(得分:1)

版本2.x和3.x愉快地生活在一起 - 这没问题。

但是/ usr / bin和/ usr / local / bin中的版本会给你带来问题:

  • “home”编译版本始终安装在/ usr / local / bin中,除非您在编译时指定前缀。系统安装的版本通常安装在/ usr / bin中。如果你调用python3,你将只执行找到的第一个 - 可能是/ usr / local / bin / python3。使用which python3

  • 进行测试
  • 真正的问题是你现在有两个python3.x / site-packages(一个在/ usr / lib或/ usr / lib64,另一个在/ usr / local / lib [64]),并且安装新模块将仅更新其中一个模块。 (除非你安装两次)。

我建议您在源目录中使用make uninstall卸载自编译的(3.4.0)。

要明确:我认为在/ usr / local中使用/ usr和3.x是没有问题的。

答案 1 :(得分:0)

版本2.7和3.4是您的发行官方蟒蛇。要升级他们的版本,Ubuntu应该为他们发布新的包。 当你自己安装一个新的python时,它会转到/ usr / local / bin。

我不建议在您的系统上安装两个类似的蟒蛇,可能很难知道是将软件包安装到其中一个还是安装在网站包中。你也必须小心pip。

我建议您删除使用apt-get安装的pythons,并将其保存在/ usr / local / bin中。