Dec*_*out 2 python linux centos python-3.x
我下载了python 3.3.0,这是最新版本,我现在完成安装我想在我的centOS linux中运行它,但是当我在控制台"python"中输入它时,python 2.7.0与os安装运行捆绑在一起.我怎么能改变它运行3?我依稀觉得我必须更改bin文件夹中的路径代码或其他东西
尝试命令:
python3.3
Run Code Online (Sandbox Code Playgroud)
要么
python3
Run Code Online (Sandbox Code Playgroud)
Python命令和兼容性http://www.python.org/dev/peps/pep-0394/
您不应该通过将Python 3符号链接到Python 2来更改系统默认值,因为这可能会破坏您的操作系统,这依赖于系统默认python为Python 2.x(由启动脚本,应用程序等引用)的事实.
如果要在键入命令时运行Python 3,python请将以下内容添加到shell configuratin文件中:
alias python=python3
Run Code Online (Sandbox Code Playgroud)
如果python从命令行运行,python则由您的$PATH环境变量确定名为的可执行文件的搜索顺序。 echo $PATH将显示您的路径搜索顺序;较早的目录优先于较后的目录。
如果键入,which python您将python在搜索路径中看到确定为第一台机器的机器。
最有可能的,但是,在这里你有一个符号连接内部的情况/usr/local/bin或/usr/bin命名python指向蟒蛇二进制文件。
在大多数系统中,实际上有两个符号链接,
python -> pythonX
pythonX -> pythonX.Y
Run Code Online (Sandbox Code Playgroud)
例如,
python -> python2
python2 -> python2.7
Run Code Online (Sandbox Code Playgroud)
您可以看到您python实际上是否只是一个类似以下内容的符号链接
ls -l $(which python)
Run Code Online (Sandbox Code Playgroud)
就我而言,这给了我:
/usr/local/bin/python -> python2
Run Code Online (Sandbox Code Playgroud)
显示python是python2的符号链接
我可以输入以下内容
ls -l $(which python2)
Run Code Online (Sandbox Code Playgroud)
就我而言,这给了我
/usr/local/bin/python2 -> python2.7
Run Code Online (Sandbox Code Playgroud)
所以无论如何,您有几种选择
1)在食物链上方的某个目录中-列表中较早的目录中,将符号链接从python(可能是)添加到所需的python版本。例如,通常高于。python3$PATH/usr/local/bin/usr/bin
2)更改当前的python符号链接,以指向所需的python版本。通常,这是通过在上添加force -f标志来完成的ln。
3)明确指出您想通过python3在命令行上键入或#!/bin/env python3在脚本中用作哈希爆炸来运行python3.x 。
4)别名python来python3在你的.bashrc或等效文件(例如alias python='/path/to/python3)。
前两个选项的影响范围可能超出您的预期。例如,他们将破坏yum软件包管理器,因为它仅指定python。
第三个可能会有点乏味,但是它更加精确,并且默认情况下将允许所有内容使用python2,除了您专门称为python3的脚本。
最后是一个不错的折衷方案,使您轻松键入内容python而不影响其他用户。
完全取决于您。
| 归档时间: |
|
| 查看次数: |
1534 次 |
| 最近记录: |