(X-Post)尝试在 Linux 上切换 Python 版本。结果把一切都搞乱了。如何修复?

(X-Post)尝试在 Linux 上切换 Python 版本。结果把一切都搞乱了。如何修复?

我实际上有三个问题:

  1. 所以我尝试在python2.7python3.4。我使用 添加了两个替代方案update-alternatives,分别赋予优先级 1 和 2。它被设置为手动模式,因此我对其进行了配置并尝试运行python。我不知道这里发生了什么,但它没有起作用。在设置替代方案之前它运行良好。,相反,当我输入时python2它工作正常并启动python2.7. 同样,输入python3 launchedpython3.4。这让我有点困惑。

    难道不python应该根据配置运行 v2.7 或 v.3.4 的通用命令吗?

  2. 现在,非常勇敢地remove,我尝试自己修复这个问题,而不需要查找问题所在(我知道这很幼稚)。我尝试了一下。使用(应该使用)逐个删除了替代方案remove-all 叹息),但令人怀疑的是,当我运行的时候update-alternatives --list python,它仍然显示替代方案。困惑++

    这背后的原因是什么?为什么这些内容还在播放?

  3. 无论如何,假设它们已被删除,我再次添加了替代方案,并希望能够解决问题,尝试运行 python。唉,它不起作用......显示以下行:

    bash: /usr/lib/command-not-found: /usr/bin/python3: bad interpreter: No such file or directory

    接下来,尝试运行python2。砰!这次,这个也不起作用!产生了类似的输出:

    bash: /usr/lib/command-not-found: /usr/bin/python3: bad interpreter: No such file or directory

    也一样python3。输出:

    bash: /usr/lib/command-not-found: /usr/bin/python3: bad interpreter: No such file or directory

    那么,我在这里遗漏了什么,问题出在哪里?请详细说明。

附言:请原谅我的无知。这些问题可能很愚蠢,但我最近才开始学习这些。我几乎是个菜鸟。

PPS:我正在运行 Xubuntu 15.04。

短暂性脑缺血。

答案1

Isn't python supposed to be a generic command to run either v2.7 or v.3.4 based on the configuration?

不 ...

基本情况如下。Python 2 和 3不同的以及非常不同的运行时和语言,系统将始终假设 python 是 python2,python3 是 python3。这是因为许多系统关键应用程序依赖于 python,并且已经足够老了,可以调用“python”而不是“python3”。

在编写自己的应用程序时,称呼适当的解释器,而不是假设。

我不确定你破坏了什么,但感觉就像 python 2/3 存储在其他地方,而你的操作破坏了符号链接(这是替代方案所做的)。

我们不知道还有什么问题,所以最好备份你珍视的一切,重建系统,然后不要嘲弄蛇直到你对自己所做的事情有了更好的了解。开发人员,甚至系统管理员通常不需要做你尝试过的事情。

如果你需要使用其他python 版本,考虑虚拟环境

相关内容