更改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