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

标签 python rhel7

执行scl enable rh-python35 bash后,我的python变成Python 3.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 的符号链接(symbolic link):

$ 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 移动到同一文件夹中的备份位置并清除哈希值。

关于python - 阻止 rh-python35 替换 `python` 二进制文件中的 Python 2.7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41910874/

相关文章:

Python 装饰器参数

python - Pandas 删除值小于给定值的行

vim - Red Hat EL7 默认设置的 vim colorcheme 是什么?如何将其移植到其他系统?

linux - Redhat Linux操作系统打补丁悄无声息触发软件包升级?

linux - 如何让systemd监控后台进程

gcc - 如何在 RHEL7 上将 GCC 从 4.8 更新到 8.2

python - Pygame:如何让 KEYDOWN 只输入一次?

python - 将列表拆分为两个列表的所有可能性

java - 为什么我的 java 代码在使用 SmbFileInputStream 和 BufferedOutputStream 时会进入无限循环

Python subprocess.call bash 别名