Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何修复--bash:/usr/bin/python:符号链接级别太多_Python_Python 3.6_Rhel_Rhel7 - Fatal编程技术网

如何修复--bash:/usr/bin/python:符号链接级别太多

如何修复--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

我想让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 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