我是 Linux 和 Ubuntu 的新手,最近遇到了一个问题。以前,每当我在终端中输入未安装的程序名称时,我都会得到一个建议安装包的列表,以“sudo apt-get install”。
然而最近,每当我输入一个程序并尝试安装它时,终端只会说
bash: /usr/bin/python: No such file or directory
我很确定它这样做的原因是因为不久前我希望能够在 Python 3 中执行 Python 脚本,而不必明确输入 python3,但每当我输入 python 时,它只会执行 Python 2 解释器。我认为文件 python 是一个指向 python2 可执行文件的符号链接,我试图将其更改为 python 3 可执行文件,但不知何故我搞砸了,现在每当我输入未安装的程序时,它只会显示上述消息而不是建议一个包。
我不知道如何修复这个问题,所以我想知道是否有人可以帮忙。我正在使用 Ubuntu 12.04。
答案1
/usr/bin/python
应该是指向您想要使用的 Python 版本的符号链接。在我的默认系统上,它链接到 python2.7,它也在 中/usr/bin
,但它是可执行文件,而不是链接。
我也有 python3.4 /usr/bin
;如果我想使用它而不是 python2.7,我只需使用该命令重新定义链接ln
,如下所示:
sudo ln -sT /usr/bin/python3.4 /usr/bin/python
-s 创建符号链接;-T 表示将目标视为普通文件,而不是目录。
如果 python 链接存在,则需要删除或重命名它。
这根本就不应该与路径有任何关系。
我觉得有必要提一下,sudo
除非你明白自己在做什么(尤其是知道如何撤消,或者至少写下确切的步骤以便询问),或者你被可信来源准确地指示该怎么做(即使在这种情况下,最好也明白它在做什么),否则你永远不应该使用进行修改。这就是sudo
需要特殊权限和密码的全部原因。