Ant*_*ony 122 python linux centos
我的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
Run Code Online (Sandbox Code Playgroud)
我怎样才能使2.7成为默认版本,所以当我输入python它时我会把它放到2.7?
aba*_*ert 168
您可能实际上并不想更改默认的Python.
您的发行版安装了标准系统Python /usr/bin,并且可能具有依赖于此存在的脚本,并且可以选择#! /usr/bin/env python.你通常可以在2.7中运行Python 2.6脚本,但你想冒风险吗?
最重要的是,monkeying /usr/bin可能会破坏您的包管理器管理包的能力.PATH除了Python之外,改变你的目录顺序会影响很多其他的东西.(事实上,/usr/local/bin提前出现更为常见/usr/bin,而且可能是你真正想要的 - 但如果你有相反的方式,那么可能是有充分理由的.)
但是,当您键入时,您无需更改默认Python以使系统运行2.7 python.
首先,您可以设置shell别名:
alias python=/usr/local/bin/python2.7
Run Code Online (Sandbox Code Playgroud)
~/.bashrc如果您希望更改是持久的,请在提示符下键入,或者将其放入您的内容中,现在当您键入python它时运行您选择的2.7,但是当您系统上的某个程序尝试运行脚本时/usr/bin/env python,运行标准2.6.
或者,只需从2.7(或不同项目的单独的venv)中创建一个虚拟环境,并在venv中进行工作.
Amb*_*ber 18
添加/usr/local/bin到您的PATH环境变量,列表中的早于/usr/bin.
通常这是在你的shell的rc文件中完成的,例如对于bash,你可以把它放在.bashrc:
export PATH="/usr/local/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)
这会导致你的shell首先看到pythonin /usr/local/bin,然后再进入/usr/bin.
(当然,这意味着你还需要/usr/local/bin/python指向python2.7- 如果它还没有,你需要对其进行符号链接.)
小智 5
输入命令
which python
//output:
/usr/bin/python
cd /usr/bin
ls -l
Run Code Online (Sandbox Code Playgroud)
在这里你可以看到这样的东西
lrwxrwxrwx 1 root root 9 Mar 7 17:04 python -> python2.7
Run Code Online (Sandbox Code Playgroud)
您的默认 python2.7 软链接到文本“python”
所以去掉软链接python
sudo rm -r python
Run Code Online (Sandbox Code Playgroud)
然后重试上面的命令
ls -l
Run Code Online (Sandbox Code Playgroud)
你可以看到软链接被删除了
-rwxr-xr-x 1 root root 3670448 Nov 12 20:01 python2.7
Run Code Online (Sandbox Code Playgroud)
然后为python3.6新建一个软链接
ln -s /usr/bin/python3.6 python
然后python在终端中尝试命令
//output:
Python 3.6.7 (default, Oct 22 2018, 11:32:17)
[GCC 8.2.0] on linux
Run Code Online (Sandbox Code Playgroud)
类型help,copyright,credits或license了解更多信息。