我下载了最新版本的python 3.3.0,现在我完成了安装,我想在我的centOS linux中运行它,但是当我在控制台“python”中输入它时,与操作系统安装捆绑在一起的python 2.7.0运行。我怎样才能将其更改为运行 3?我隐约觉得我必须更改有关bin文件夹中路径的代码或其他东西
2 回答
尝试命令:
python3.3
或者
python3
Python 命令和兼容性http://www.python.org/dev/peps/pep-0394/
您不应通过将 Python 3 符号链接到 Python 2 来更改系统默认值,因为这可能会破坏您的操作系统,这依赖于系统默认值python
是 Python 2.x(由启动脚本、应用程序等引用)这一事实。
如果您想在键入命令时运行 Python 3,python
请将以下内容添加到您的 shell 配置文件中:
alias python=python3
如果python
从命令行运行,则名为的可执行文件的搜索顺序python
由您的$PATH
环境变量确定。 echo $PATH
将显示您的路径搜索顺序;较早的目录优先于后面的目录。
如果您键入which python
,您将看到您的机器确定为python
您的搜索路径中的第一个。
然而,最有可能的情况是您内部有一个符号链接/usr/local/bin
或/usr/bin
命名python
它指向 python 二进制文件。
在大多数系统中,实际上有两个符号链接,
python -> pythonX
pythonX -> pythonX.Y
例如,
python -> python2
python2 -> python2.7
您可以查看您python
是否实际上只是一个符号链接,例如
ls -l $(which python)
就我而言,这给了我:
/usr/local/bin/python -> python2
显示 python 是 python2 的符号链接
我可以通过打字走得更远
ls -l $(which python2)
就我而言,这给了我
/usr/local/bin/python2 -> python2.7
所以无论如何,你有几个选择
1)在食物链上更高的某个目录中添加一个符号链接python
到您想要的python版本(可能) - 在列表中较早的目录中。例如,通常高于。python3
$PATH
/usr/local/bin
/usr/bin
2)更改您当前的python
符号链接以指向您想要的python版本。通常这是通过将 force-f
标志添加到ln
.
python3
3) 通过在命令行上键入或#!/bin/env python3
在脚本中用作 hash-bang来明确说明您想要运行 python 3.x。
4) .bashrc 或等效文件中的别名(python
例如)。python3
alias python='/path/to/python3
前两个选项的影响可能比您预期的更广泛。例如,他们会破坏yum
包管理器,因为它只指定python
.
第三个可能有点乏味,但它更精确,并且默认情况下,除了您专门调用 python3 的脚本之外,所有东西都可以使用 python2。
最后一个是一个不错的折衷方案,让您可以轻松打字python
,但不会影响其他用户。
这完全取决于你。