python - 在 Ubuntu 上安装了 Python 3.8,但不是默认的

标签 python python-3.x ubuntu

我已经在我的 Ubuntu 16.04 上下载了 Python 3.8,如果我写 python3.8它显示它存在,但是当我写 python --version我得到了我的旧 Python 版本,它是 3.5

最佳答案

设置别名:

alias python=python3.8
然后运行 ​​python在 Bash 中将运行 python3.8 .
要使更改永久生效,请将别名行放入 ~/.bashrc .它会在你打开 Bash 时生效。

符号链接(symbolic link)
为什么不符号链接(symbolic link) /usr/bin/pythonpython3.8 ?
Ubuntu 关注 PEP 394上面写着 python命令应该指向 Python 2。但是别名有效,因为它只影响你的 shell。它甚至不会影响您编写的脚本,这意味着如果您希望脚本在 Python 3.8 中运行,您必须在 shebang 中显式编写它,例如#!/usr/bin/env python3.8而不是 #!/usr/bin/env python .
为什么不至少符号链接(symbolic link) /usr/bin/python3python3.8 ?
由于存在特定于版本的库,因此有些事情会中断。例如 _gi不适用于 Ubuntu 16.04 上的 Python 3.8,因此 Gnome 终端将无法打开。见 Gnome terminal will not start以询问 Ubuntu 为例。

更多细节
  • How to make 'python' program command execute Python 3?在询问 Ubuntu
  • 关于python - 在 Ubuntu 上安装了 Python 3.8,但不是默认的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59272666/

    相关文章:

    linux - 如何在 Bash 中终止 TCP 端口 16969?

    python - Python 字符串中的 u'\ufeff'

    python - 使python文件中的函数定义独立于顺序

    python - 如何在python配置文件中存储字典和列表?

    python - 如何在列表列表中查找字符?

    python - 如何比较两个列表中的字符串并创建三分之一的匹配项?

    python - sqlite3.ProgrammingError : Incorrect number of bindings supplied. 当前语句使用 3,提供了 1

    python - Pandas - 在多列上有条件地合并数据框

    php - laravel @if 语句显示在 View 中

    linux - 如何通过 cron 按计划重新启动。乌类图14.04