目前,当我使用“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
答案 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。