当我完成安装 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
安装了该命令,它应该调用与该命令相同版本的 Pythonpython2
。
不仅这是一个建议,而且在许多 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