如何更改Raspberry Pi中的默认python版本

2024-05-23 16:42:08 发布

您现在位置:Python中文网/ 问答频道 /正文

一天前,我重新安装了Raspberry Pi OS Buster,之后,我按照本教程在Raspberry Pi中安装了Python 3.8。 https://installvirtual.com/how-to-install-python-3-8-on-raspberry-pi-raspbian/

我向bashrc添加了python别名

echo "alias python=/usr/local/bin/python3.8" >> ~/.bashrc
source ~/.bashrc

现在在显示Python 3.8.0 (default, Jun 8 2020, 13:17:16)的终端中键入python

但是当我运行python3时,它会显示PythonPython 3.7.3

我按照上面的命令添加了python3别名,指向python3.8,但仍然不走运。 Geany的节目仍在播放3.7。我将Geany的bulid命令更改为python(因为我将默认python设置为3.8)

#!/usr/local/bin/python3.8

import sys
print("Python version")
print (sys.version)

Python version 3.7.3 (default, Dec 20 2019, 18:57:59)

我有两个问题:

  1. 如何在Python3.8中运行程序

  2. 我可以卸载python3.7吗


Tags: 命令defaultbinosversionusrlocalsys
2条回答

对于那些喜欢直接使用文件系统的人,下面是我所做的:

  • 类型:sudo rm /usr/bin/python
  • 类型:sudo ln -s /usr/bin/python3 /usr/bin/python
  • 类型:ls -l /usr/bin/python
    • lrwxrwxrwx 1 root root 16 Jan 18 11:04 /usr/bin/python -> /usr/bin/python3
  • 类型:python -V
    • Python 3.7.3
  • 替代方法:
    • 类型:sudo update-alternatives config python
    • 在我的情况下,没有其他选择

当您使用它时,将pip默认值更改为pip3,这是一个稍微不同的过程

  • 类型:sudo mv /usr/bin/pip /usr/bin/pip2 # rename
  • 类型:sudo ln -s /usr/bin/pip3 /usr/bin/pip
  • 类型:ls -l /usr/bin/pip
    • lrwxrwxrwx 1 root root 13 Jan 18 11:19 /usr/bin/pip -> /usr/bin/pip3
  • 类型:pip -V
    • pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
    • 注意:pip2切换到默认值python3会让人感到困惑,因为它以:#!/usr/bin/python开头
我没有看到RasBuri PI基金会的“官方”解决方案,改变了Python的版本。p>

我不会讨论为什么您可能不应该使用别名来运行python,但会回答更重要的名义问题

似乎我们想要为python二进制文件添加所需版本的“alternatives

在新安装的Raspberry Pi OS上,您只需要一个命令:

# Adds `python3` as the alternate for `python` with priority `3`.
sudo update-alternatives  install $(which python) python $(readlink -f $(which python3)) 3

您还可以为python添加任意数量的其他备选方案:

# Adds `python3.8` as the alternate for `python` with priority `3`.
sudo update-alternatives  install $(which python) python $(readlink -f $(which python3.8)) 3

为了方便起见,您可能还应该以较低的优先级添加python2

# Adds `python2` as the alternate for `python` with priority `2`.
sudo update-alternatives  install $(which python) python $(readlink -f $(which python2)) 2

默认情况下,上述选项将自动选择最高优先级的备选方案。 要手动选择系统范围的版本,请使用:

sudo update-alternatives  config python

您可以根据自己的需要选择不同的优先级。 然而,我注意到许多其他的“备选方案”(特别是editor)通常在官方建议的版本中使用10的倍数。 保持较低的优先级值可能意味着正式实现(如果发生)将是兼容的。 你也可以选择更大的数字

Notes

dpkg -S /usr/bin/python报告它属于python-minimal,但卸载会从计算机中删除所有python2(使用autoremovepython3-minimal也不能解决任何问题

相关问题 更多 >