我的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?
将
/usr/local/bin
添加到列表中早于/usr/bin
的PATH
环境变量中。通常这是在shell的rc文件中完成的,例如对于bash,您可以将其放入
.bashrc
:这将导致您的shell首先在
/usr/local/bin
中查找python
,然后再与/usr/bin
中的shell一起查找。(当然,这意味着您还需要
/usr/local/bin/python
指向python2.7
——如果它还没有指向,则需要符号链接它。)所有操作系统都带有python的默认版本,它位于/usr/bin中。操作系统附带的所有脚本(例如,yum)都指向位于/usr/bin中的这个版本的python。 当您想安装一个新版本的python时,您不想破坏现有的脚本,这些脚本可能不适用于新版本的python。
正确的方法是将python作为备用版本安装。
现在,通过这样做,像yum这样的现有脚本仍然可以使用/usr/bin/python。 您的默认python版本将是安装在/usr/local/bin中的版本。 i、 e.当你输入python时,你会得到2.7.3
这是因为。$PATH变量在usr/bin之前有/usr/local/bin。
如果python2.7仍然没有作为默认的python版本生效,那么您需要这样做
您可能不想更改默认的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别名:
如果您希望更改持久化,请在提示符下键入该命令,或者将其放入您的
~/.bashrc
中,现在当您输入python
时,它将运行您选择的2.7,但当系统上的某个程序尝试运行具有/usr/bin/env python
的脚本时,它将运行标准的2.6。或者,只需在2.7中创建一个virtual environment(或者为不同的项目创建单独的venv),然后在venv中完成工作。
相关问题 更多 >
编程相关推荐