一尘不染

Linux上的两个版本的python。如何使2.7成为默认值

python

我的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版本?


阅读 419

收藏
2020-02-21

共1个答案

一尘不染

你可能实际上并不想更改默认的Python。

你的发行版在中安装了标准系统Python /usr/bin,并且可能有依赖于此脚本的脚本,并由选择#! /usr/bin/env python。通常,你可以在2.7中运行Python 2.6脚本,但是你要冒险吗?

最重要的是,闲逛/usr/bin可能会破坏你的包管理器管理包的能力。并且更改目录中的顺序PATH将影响除Python之外的许多其他因素。(实际上,在/usr/local/bin之前更常见/usr/bin,这可能是你真正想要的-但是如果你有其他选择,则可能有充分的理由。)

但是,你无需更改默认的Python即可在键入时使系统运行2.7 python

首先,你可以设置一个shell别名:

alias python=/usr/local/bin/python2.7

在提示符下键入该命令,或者~/.bashrc如果你希望更改保持不变,则将其放入你的计算机,现在键入该命令时,python将运行你选择的2.7,但是当系统上的某个程序尝试使用/usr/bin/env python标准2.6 运行该脚本时。

或者,只需在2.7(或针对不同项目的单独venv)中创建一个虚拟环境,然后在venv中进行工作。

2020-02-21