如何修复--bash:/usr/bin/python:符号链接级别太多
我想让python3成为rhel的默认版本,所以我在 它将默认值更改为如何修复--bash:/usr/bin/python:符号链接级别太多,python,python-3.6,rhel,rhel7,Python,Python 3.6,Rhel,Rhel7,我想让python3成为rhel的默认版本,所以我在 它将默认值更改为3.6.8 root@rhel:~# python -V Python 3.6.8 然后我尝试了yum安装python-pip: root@rhel:~# yum install python-pip File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: ^ SyntaxError: invalid sy
3.6.8
root@rhel:~# python -V
Python 3.6.8
然后我尝试了yum安装python-pip:
root@rhel:~# yum install python-pip
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
这是在我尝试其他一些命令时发生的。我试图通过以下方式恢复更改:
root@rhel:~# sudo ln -fs /usr/bin/python /usr/bin/python
但是我遇到了
root@rhel:~# python -V
bash: /usr/bin/python: Too many levels of symbolic links
我想从我在一些地方读到的东西来看,我需要断开符号链接。以下是my/usr/bin中的内容/
ls-l/usr/bin | grep python
lrwxrwxrwx 1 root root 15 Oct 21 14:12 python -> /usr/bin/python
lrwxrwxrwx 1 root root 14 Aug 8 05:53 python-config -> python2-config
lrwxrwxrwx 1 root root 9 Aug 8 05:51 python2 -> python2.7
lrwxrwxrwx 1 root root 16 Aug 8 05:53 python2-config -> python2.7-config
-rwxr-xr-x 1 root root 7144 Jun 11 10:34 python2.7
-rwxr-xr-x 1 root root 1835 Jun 11 10:34 python2.7-config
lrwxrwxrwx 1 root root 9 Aug 8 05:51 python3 -> python3.6
lrwxrwxrwx 1 root root 16 Aug 8 05:53 python3-config -> python3.6-config
lrwxrwxrwx 1 root root 20 Aug 8 05:53 python3-debug -> /usr/bin/python3.6dm
-rwxr-xr-x 2 root root 11336 Jun 11 15:17 python3.6
lrwxrwxrwx 1 root root 17 Aug 8 05:53 python3.6-config -> python3.6m-config
-rwxr-xr-x 1 root root 11336 Jun 11 15:17 python3.6dm
-rwxr-xr-x 1 root root 175 Jun 11 15:16 python3.6dm-config
-rwxr-xr-x 1 root root 3396 Jun 11 14:54 python3.6dm-x86_64-config
-rwxr-xr-x 2 root root 11336 Jun 11 15:17 python3.6m
-rwxr-xr-x 1 root root 173 Jun 11 15:16 python3.6m-config
-rwxr-xr-x 1 root root 3403 Jun 11 14:54 python3.6m-x86_64-config
这是结果的一行
lrwxrwx 1 root root 10月15日21日14:12 python->/usr/bin/python
告诉我们符号链接python
指向自身,这会导致“太多级别”错误
您可以通过以下方式删除链接:
rmpython
或者使用重置到python3的链接
ln -fs /usr/bin/python3 /usr/bin/python
(这两种可能都需要sudo)
尽管ln-fs/usr/bin/python/usr/bin/python/bin/python创建了一个递归符号链接,即它指向自身,但安装错误是一个单独的问题
yum
似乎是用Python 2语法编写的,因此将该符号链接还原回:
sudo ln -fs python2 /usr/bin/python
然后找到一种方法使Python3成为默认的,并且不会破坏您的包管理器。例如
有关将Python 2保留为默认值的基本原理,请参见
另外,我不熟悉RHEL,但所有这些都与我使用Ubuntu的经验相符。ls-l/usr/bin | grep python显示了什么?一堆!我把结果放在我的问题@lamptoos
ln-fs/usr/bin/python/usr/bin/python
的底部,使/usr/bin/python
成为自身的符号链接,创建了一个无限循环的符号链接。您应该将/usr/bin/python
作为另一个的符号链接。感谢您花时间解释这一点。回到python3python-vpython3.6.8
sudo ln -fs python2 /usr/bin/python