如何在树莓派中更改默认的python版本



一天前,我重新安装了Raspberry Pi OS Buster,之后我按照本教程在Raspberry Pi中安装了Python3.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显示Python 3.8.0 (default, Jun 8 2020, 13:17:16)

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

我在命令上方添加了指向 python3.8 的 python3 别名,但仍然没有运气。 来自 Geany 的程序仍然显示 3.7。我将 Geany 的 bulid 命令更改为 python(因为我将默认 python 设置为 3.8(

#!/usr/local/bin/python3.8
import sys
print("Python version")
print (sys.version)

蟒蛇版本 3.7.3(默认,2019 年 12 月 20 日 18:57:59(

我有两个问题:

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

  2. 我可以卸载 python3.7 吗?

对于那些喜欢直接使用文件系统的人,这是我所做的。只需一一键入以下命令:


  1. sudo rm /usr/bin/python

  2. sudo ln -s /usr/bin/python3 /usr/bin/python

  3. ls -l /usr/bin/python这将产生类似这样的内容:lrwxrwxrwx 1 root root 16 Jan 18 11:04 /usr/bin/python -> /usr/bin/python3

键入python -Vpython --version以使其显示正在运行的当前版本。

替代方法(在我的情况下没有找到替代方案(:
sudo update-alternatives --config python


当您使用它时,将"pip"默认值更改为"pip3"。这是一个略有不同的过程:
  1. sudo mv /usr/bin/pip /usr/bin/pip2 # rename
  2. sudo ln -s /usr/bin/pip3 /usr/bin/pip
  3. ls -l /usr/bin/pip
    此命令将生成如下内容:lrwxrwxrwx 1 root root 13 Jan 18 11:19 /usr/bin/pip -> /usr/bin/pip3键入pip -Vpip --version以使其显示您正在运行的当前版本。

注意pip2切换到默认python3会感到困惑,因为它以:#!/usr/bin/python开头

我还没有看到Raspberry Pi基金会关于更改哪个版本的Python处于活动状态的"官方"解决方案。

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

似乎我们想为python二进制文件添加我们想要的"替代方案"版本。

在新的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。 保持较低的优先级值可能意味着它的正式实现(如果发生(将是兼容的。 您也可以选择更大的数字...

注释

dpkg -S /usr/bin/python报告它属于python-minimal,但卸载会从机器中删除所有python2(带有autoremove(。python3-minimal也不能解决任何问题。

相关内容

  • 没有找到相关文章

最新更新