将默认python更改为另一个版本

时间:2011-10-06 19:47:31

标签: python path default

目前,当我使用“python”命令时,它指向python2.6。我已经安装了python3.1,我希望“python”命令指向python3.1。怎么可能?

mahmood@mpc:~$ which python 
/usr/bin/python
mahmood@mpc:~$ ls -l /usr/bin/python
lrwxrwxrwx 1 root root 9 2010-11-24 16:14 /usr/bin/python -> python2.6
mahmood@mpc:~$ uname -a
Linux orca 2.6.32-24-server #39-Ubuntu SMP Wed Jul 28 06:21:40 UTC 2010 x86_64 GNU/Linux

7 个答案:

答案 0 :(得分:12)

由于你有Linux,如果你只想输入“python”而不是“python3”来运行Python程序,一个解决方案只是在shell配置文件中定义一个别名(.bashrc等) 。对于Bourne shell,它应该类似于

alias python=python3

(或者你的Python 3名称是什么)。

这样,您不必更改系统上的任何内容,因此此解决方案应该非常无害,并且不应该破坏您的系统。

答案 1 :(得分:8)

你真的不想改变python指向的内容,因为某些程序可能会期望Python 2,并且会中断。

解决方案是使用virtualenv:创建一个独立的Python 3环境(使用-p python3选项),激活它,你就可以了。

答案 2 :(得分:4)

这是不可取的。

你可以在自己的脚本(一个shebang)中写在顶部:

#!/usr/bin/env python3

如果您使用的是Windows,请安装pylauncher。它理解#!

在Linux上使脚本可执行,运行一次:

$ chmod +x your-script

之后,运行脚本:

$ ./your-script

对于交互式使用,您可以创建virtualenv @Petr Viktorin指出。安装/升级(Ubuntu的存储库版本太旧了):

$ pip install -U virtualenv{,wrapper}

按照/path/to/virtualenvwrapper.sh中的说明创建使用python3的virtualenv:

$ mkvirtualenv --python python3 py3

激活virtualenv:

$ workon py3

在活跃的virtualenv python中引用/path/virtualenv/bin/python。所以你可以运行:

$ python your_module.py

答案 3 :(得分:3)

您可以按照以下步骤操作:

sudo rm /usr/bin/python

sudo ln -s /usr/bin/python3.1 /usr/bin/python

但正如Petr Viktorin所说,任何期望python v2的程序都会停止工作。所以要谨慎使用。您可以通过运行来撤消更改:

sudo rm /usr/bin/python

sudo ln -s /usr/bin/python2.6 /usr/bin/python

答案 4 :(得分:3)

unlink /usr/bin/python
ln -s /usr/bin/python3.1 /usr/bin/python

答案 5 :(得分:2)

在Linux / Mac OS上,您可以使用python3代替python

答案 6 :(得分:1)

为Linux尝试update-alternatives