Fedora 25 从 Python 2.7.13 到 Python3 的更改(被`alternatives` 破坏)

TK4*_*421 1 fedora python alternatives

所以我从python开始。我正在使用全新安装 Fedora25 的笔记本电脑。

我使用 pydev 在 eclipse 中运行了所有内容,但是根据讲师的指示,我需要使用 python 3.4 或更高版本。

所以我检查我使用的是什么版本。显然它是 python 2.7.13 我认为 Fedora post 23 默认使用 python3,但这就是生活。因此,我在此处查看并询问fedora 和其他来源,了解当您安装了多个版本时如何更改默认版本。其中两个建议如何在 Fedora Linux 上在 Python 版本之间切换。在盲目地将任何人的建议放入 shell 之前,我浏览了一下,它看起来是一个不错的站点。

所以我遵循了教程,现在没有任何与 python 相关的作品。

$ alternatives --list | grep -i python
((no output))
$ sudo alternatives --install /usr/bin/python python /usr/bin/python3.4 2
$ sudo alternatives --install /usr/bin/python python /usr/bin/python2.7 1
$ alternatives --list | grep -i python
python auto /usr/bin/python3.4
$ python -v
bash: /usr/bin/python: No such file or directory
$ python -V
bash: /usr/bin/python: No such file or directory
$ python --vesion
bash: /usr/bin/python: No such file or directory
Run Code Online (Sandbox Code Playgroud)

看起来按照指示创建符号链接破坏了预期的 python 源/usr/bin/python与尝试访问它的所有内容之间的连接。我确定有一个“简单”的修复方法,但我不知道它可能是什么。请帮助,谢谢。

我认为使用交替将 python 更改为一组符号链接,您必须设置一个(请参阅下面的代码块)。

$ alternatives --config python

There are 2 programs which provide 'python'.

  Selection    Command
-----------------------------------------------
*+ 1           /usr/bin/python3.4
   2           /usr/bin/python2.7

Enter to keep the current selection[+], or type selection number: 
$
Run Code Online (Sandbox Code Playgroud)

那么为什么当有人试图跟随时,他们中没有一个人设置为“回答” python

所以我跳出外壳并FilesActivities. 去了/usr/bin。找到了python。尝试点击它;我收到此错误消息:链接“python”已损坏。无法使用此链接,因为其目标“/etc/alternatives/python”不存在。

我不想将链接设置为指向一个或另一个 python,对吗?这就是重点alternatives,不是吗?

mat*_*tdm 6

不要这样做。由于 Python 2 和 Python 3 不兼容,因此它们不适合“替代”机制。太多的包假设它/usr/bin/python是 Python 2,很多东西都会坏掉。

由于许多软件还没有准备好迁移到 Python 3,Fedora 不能简单地切换所有内容。相反,我们决定保留/usr/bin/pythonPython 2。Python 3 可以并行安装,位于/usr/bin/python3. Fedora 25 包含 Python 3.5,因此这对于您的课程来说应该足够了。

只需确保#!/usr/bin/python3在文件顶部使用python3并在命令行中使用即可。