-bash: python: 在 centos 6 上安装 python3 后找不到命令

-bash: python: 在 centos 6 上安装 python3 后找不到命令

当我完成安装 python3 时,我可以使用 python2 和 python3 命令,但是当我尝试 python 时,它说找不到命令,这是一些输出

[root@localhost bin]# python2
Python 2.7.5 (default, Apr 11 2018, 07:36:10) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
[root@localhost bin]# python3.6
Python 3.6.0 (default, Nov 13 2018, 00:07:36) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
[root@localhost bin]# python
-bash: python: command not found
[root@localhost bin]#

当我尝试 whereis python 时

 [root@localhost bin]# whereis python
 python: /usr/bin/python2.7 /usr/bin/python /usr/bin/python.bak 
 /usr/lib/python2.7 /usr/lib64/python2.7 /etc/python /usr/include/python2.7 
 /usr/local/python /usr/local/python/bin/python3.6m 
 /usr/local/python/bin/python3.6 /usr/local/python/bin/python3.6m-config 
/usr/local/python/bin/python3.6-config /usr/share/man/man1/python.1.gz
[root@localhost bin]#

当我在 /usr/bin 中尝试 ls -ls 时,输出 /usr/python/bin/python3 正在闪烁

[root@localhost bin]# ls -l
0 lrwxrwxrwx. 1 root root         23 Nov 13 01:05 python -> 
/usr/python/bin/python3

回显$PATH

[root@localhost /]# echo $PATH
/usr/local/python/bin/:/usr/local/python/bin/:/usr/local/sbin:
/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

答案1

您将符号链接指向的位置 ,/usr/python/bin/python3不正确。您的机器中似乎不存在该路径。

您可以在 处获得 Python 3 /usr/local/python/bin/python3.6

您可以在 处获得 Python 2 /usr/bin/python2.7

请注意,Python 社区推荐反对使python名称指向 Python 3。参见PEP-394 的这一部分,其中指出:

如果python安装了该命令,它应该调用与该命令相同版本的 Python python2

不仅这是一个建议,而且在许多 Linux 发行版中,将python符号链接移动到指向 Python 3 将破坏发行版中许多期望它指向 Python 2 的包。

我的建议是恢复python符号链接以指向发行版附带的 Python 2,并创建一个单独的python3符号链接,可用于调用已安装的 Python 3。

您可以以 root 身份通过以下命令来执行此操作(sudo例如,使用 ):

ln -snf python2.7 /usr/bin/python
ln -s ../local/python/bin/python3.6 /usr/bin/python3

相关内容