我的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中进行工作。

10-04 11:44
查看更多