在ubuntu中,我曾经有(两个小时前)三个版本的python:
默认安装在“usr/bin”中的2.7和3.4.0
3.4.3我从官方源代码中手工构建的,我发现它在’usr/local/bin’中
(这意味着,在某个时刻,我能够同时运行python的树版本)
但是现在,3.4.0版本已经变成了3.4.3,现在我有了2.7和两个3.4.3(一个在’/usr/bin’中,另一个在’/usr/local/bin’中)
这发生在我尝试pip的时候。所以我无法追溯我到底做了什么。
我的问题是:
为什么构建3.4.3并没有升级现有的3.4.0,而是在“/Ur/Studio/bin”中进行了新的安装?
你认为3.4.0升级到3.4.3到底发生了什么?
在我的系统中安装两个相同版本(3.4.3)的python可以吗?
版本2.x和3.x幸福地生活在一起-这没问题。
但是/usr/bin
和/usr/local/bin
中的版本会给您带来问题:
“home”编译版本始终安装在/usr/local/bin
中,除非在编译时指定前缀。系统安装版本通常安装在/usr/bin
中。如果调用python3,则只执行找到的第一个python3,可能是/usr/local/bin/python3
。用 which python3
测试这个
真正的问题是现在有两个python3.x/site-packages(一个在/usr/lib或/usr/lib64中,另一个在/usr/local/lib[64]中),安装新模块只会更新其中一个。(除非你安装了两次)。
我建议您使用源目录中的make uninstall卸载自编译版本(3.4.0)。
需要说明的是:我相信2.7in/usr和3.xin/usr/local是没有问题的。
版本2.7和3.4是您的发行版官方python。为了升级他们的版本,ubuntu应该为他们发布新的软件包。当您自己安装一个新的python时,它会转到/usr/local/bin
。
我不建议在您的系统上安装两个类似的python,可能很难知道包是安装在其中一个包中还是安装在站点包中。你也得小心pip
。
我建议您删除apt-get安装的pythons,并将您的pythons保存在/usr/local/bin
中。
您可以使用内置的包管理器简单地安装最新版本的python。它不应该覆盖现有的版本。看看这张照片。它演示了mint linux可用的软件包(基于ubuntu),并显示了可以使用默认的软件包管理器同时安装这两个软件包。