阻止 rh-python35 替换 `python` 二进制文件中的 Python 2.7

Stop rh-python35 from replacing Python 2.7 in the `python` binary

执行scl enable rh-python35 bash后,我的python变成了Python3.5。相反,我想要一个环境,其中 Python 3.5 只是 python3python3.5 二进制文件,而 python 仍然指向 Python 2.7。我怎样才能做到这一点?

正如您在 运行 echo $PATH 中看到的那样,启用 rh-python35 会将其自己的 bin 目录放在 PATH 的开头,以便找到任何 python先前位置的先例:

$ type python
python is /opt/rh/rh-python35/root/usr/bin/python

这个位置本身是 python3:

的符号链接
$ ls -l /opt/rh/rh-python35/root/usr/bin/python
/opt/rh/rh-python35/root/usr/bin/python -> python3

您可以通过 运行 取回旧的 Python:

mv /opt/rh/rh-python35/root/usr/bin/python{,.backup}
hash -r

将 rh-python35 的 python 移动到同一文件夹中的备份位置并清除哈希。