我的linuxbox上有两个版本的python:
$python
Python 2.6.6 (r266:84292, Jul 10 2013, 22:48:45)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ /usr/local/bin/python2.7
Python 2.7.3 (default, Oct 8 2013, 15:53:09)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
$ which python
/usr/bin/python
$ ls -al /usr/bin/python
-rwxr-xr-x. 2 root root 4864 Jul 10 22:49 /usr/bin/python
如何将2.7设置为默认版本,所以当我键入
python
时,它将置入2.7? 最佳答案
您可能实际上并不想更改默认的Python。
您的发行版在/usr/bin
中安装了标准系统Python,并且可能具有依赖于此脚本的脚本,并由#! /usr/bin/env python
选择。通常,您可以在2.7中运行Python 2.6脚本,但是您要冒险吗?
最重要的是,缠扰/usr/bin
可能会破坏您的包管理器管理包的能力。并且更改PATH
中目录的顺序将影响除Python以外的许多其他因素。 (实际上,在/usr/local/bin
之前放置/usr/bin
更为常见,这可能是您真正想要的-但是如果您有其他选择,大概是有充分理由的。)
但是当您键入python
时,无需更改默认的Python即可使系统运行2.7。
首先,您可以设置一个shell别名:
alias python=/usr/local/bin/python2.7
在提示符下键入该命令,或者如果您想使更改持久化,则将其放在
~/.bashrc
中。现在,当您键入python
时,它将运行所选的2.7,但是当系统上的某些程序尝试使用/usr/bin/env python
运行脚本时,它将运行标准2.6。或者,只需在2.7中创建一个virtual environment(或为不同项目创建单独的venv),然后在venv中进行工作。