【问题标题】:How to align python version on Debian如何在 Debian 上对齐 python 版本
【发布时间】:2020-10-19 07:40:15
【问题描述】:

我使用的 debian 有它的默认 python3 -> 3.7.3。 然后我成功安装了python3 3.7.4版本,是我比较喜欢的专用版本。

但是现在,python 版本变得一团糟。 这是来自终端命令的详细信息

  1. python3--版本 --> Python 3.7.4
  2. /usr/bin/python3 -- 版本 --> Python 3.7.3
  3. /usr/bin/python3.7 -- 版本 --> Python 3.7.3

那么我怎样才能将它与“Python 3.7.4”对齐?

【问题讨论】:

  • 您必须更改bashrc 文件。 echo 'alias python="/usr/bin/python3.7.4"' >> ~/.bashrc
  • 您是如何“安装”Python 3.7.4 的?到 /usr/local/bin?到您用户的家/垃圾箱?

标签: python python-3.x


【解决方案1】:

AnsFourtyTwo 说的没错,但是如果你需要管理多个 Python 版本,尽量使用pyenv

它是一个工具,可以在您的机器上管理多个 Python 版本(和实现)并在它们之间轻松切换,这样您就不必手动更改链接。

类似于 nvm(Node.js 版本管理器)。

【讨论】:

    【解决方案2】:

    如果您查看/usr/bin,您会发现,对于不同的 python 版本,您将拥有许多不同的可执行文件,例如python2.7python3.7.3python3.7.4

    为了给用户提供已知环境的安全性,您还可以找到符号链接,例如

    lrwxrwxrwx  1 root    root           9 Okt 18  2016 python -> python2.7*
    lrwxrwxrwx  1 root    root           9 Okt 18  2016 python2 -> python2.7*
    -rwxr-xr-x  1 root    root     3546104 Nov 19 10:35 python2.7*
    ...
    lrwxrwxrwx  1 root    root           9 Okt 18  2016 python3 -> python3.5*
    -rwxr-xr-x  2 root    root     4460336 Nov 17 20:23 python3.5*
    

    所以在示例中,命令pythonpython2 都将执行python2.7。调用python3实际上会执行python3.5

    我通常会更改这些符号链接以满足我的需要(您可能需要 root 权限)。例如,我通常希望命令python 运行当前的python3 版本:

    cd /usr/bin
    ln -sf python3 python
    

    为什么调用python3 --version导致版本3.7.4必须进一步检查:

    1. which python3 显示什么?
    2. 您是否定义了任何别名(例如 alias python="/usr/bin/python3.7.4" 在您的 .bashrc 文件中)

    【讨论】:

      猜你喜欢
      • 2017-02-10
      • 1970-01-01
      • 1970-01-01
      • 2014-09-21
      • 1970-01-01
      • 2012-06-07
      • 1970-01-01
      • 1970-01-01
      • 2018-03-20
      相关资源
      最近更新 更多