一天前,我重新安装了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(
我有两个问题:
如何在 Python3.8 中运行程序?
我可以卸载 python3.7 吗?
对于那些喜欢直接使用文件系统的人,这是我所做的。只需一一键入以下命令:
-
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 --version
以使其显示正在运行的当前版本。
替代方法(在我的情况下没有找到替代方案(: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 --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
也不能解决任何问题。