更改python版本而不破坏软件中心

我一直在Ubuntu 12.04上摆弄我的Python安装(我在安装python库时遇到了麻烦),有一次我的python命令无效。 事实certificate符号链接丢失了(我必须偶然删除它),所以我创建了一个新的指向Python 3.2(最初指向2.7):

 sudo rm /usr/bin/python sudo ln -s /usr/bin/python3.2 /usr/bin/python 

问题:软件中心和更新管理器无法正常工作:

 ~$ software-center File "/usr/bin/software-center", line 152 print time.time() ^ SyntaxError: invalid syntax 

我猜这是因为我更改了默认的python版本(2.7-> 3.2),所以我把它改回2.7。 现在它们工作正常,但我仍然想改变’默认’python版本(即在终端中使用python调用的版本)。

是否有可能在Ubuntu 12.04中这样做?
谢谢!

您不应该将python的符号链接更改为指向Python 3,因为您已经看到了它的后果。 而且我建议你养成使用python3调用Python 3程序的习惯,因为这会在以后遇到最少的麻烦。

但是如果你坚持使用python在你的终端上调用Python 3,你可以为它创建一个别名。 请记住,别名与符号链接不同。 编辑~/.bash_aliases文件(如果它不存在则创建它)以在其中添加以下内容:

 alias python='python3.2' 

然后重启你的终端,你就可以通过调用python来执行Python 3。 这不会像更改符号链接那样破坏任何东西。

您甚至可以添加别名alias py3='python3.2'类的alias py3='python3.2' ,然后调用py3来运行Python 3.这甚至更短,更少混淆。

不要那样做:

  • Ubuntu附带的Python程序依赖于/usr/bin/python作为发行版的默认Python2版本。 如果它是别的东西,它们可能会破裂。
  • PEP-0394建议python命令调用Python2。 如果调用Python3,大多数Python程序都会破坏。

如果你想使用Python3,请使用/usr/bin/python3