核心要点
- 在树莓派操作系统Bookworm中,为了避免与系统Python版本发生冲突,应在虚拟环境中安装Python包。
- 您可以使用apt包管理器查找并安装Python包,但若该包不可用或需要更新的版本,则应在虚拟环境中使用pip工具。
- 虚拟环境中的任何更改或安装都不会影响系统Python版本。
在树莓派操作系统Bookworm中使用“pip”工具安装Python包时遇到了问题?您需要执行一些额外的步骤,包括创建Python虚拟环境。以下是如何操作的具体指南。
树莓派操作系统Bookworm发生了什么变化?
由于树莓派5与早期版本的树莓派操作系统不兼容,因此您需要在其上安装新的“Bookworm”版本。这是从早期型号过渡到树莓派5时需要考虑的关键事项之一。
在基于Debian的树莓派操作系统早期版本(Buster及更早版本)中,可以使用pip包管理工具在系统范围内直接安装Python库。然而,在最新的树莓派操作系统Bookworm中,情况有所不同。
正如树莓派官方文档所解释的那样,问题在于使用特定于Python的工具(如pip)可能会与apt操作系统包管理器发生冲突。
因此,从Bookworm开始,当使用pip时,必须将包安装到隔离的Python虚拟环境中,以确保它们不会干扰系统Python版本。
如果您尝试在系统其他位置使用命令pip install [包名]
,您会收到如下错误提示:
error: externally-managed-environment× 这个环境是由外部管理的
╰─> 要在系统范围内安装Python包,请尝试apt install
python3-xyz,其中xyz是您尝试安装的包。
如何使用Apt搜索Python包
首先要检查的是,您需要的Python包是否可以通过系统范围的apt包管理器进行安装。您可以使用apt search
命令在官方存储库中搜索包。例如:
apt search numpy
记下包名称,在本例中为python3-numpy
(适用于Python版本3),然后使用apt
安装它(使用sudo
前缀以获取安装所需的超级用户权限):
sudo apt install python3-numpy
如果使用apt包管理器无法获取所需的Python包,或者您需要更新版本的Python包,则需要在Python虚拟环境中使用特定于Python的pip
工具进行安装。
如何创建Python虚拟环境
要在树莓派操作系统Bookworm中使用pip工具安装Python包,首先需要使用venv
创建虚拟Python环境。我们在此将项目命名为“muo-project”,但您可以自定义任何名称:
python -m venv muo-project
这将需要一些时间完成,具体取决于您使用的树莓派型号。然后,您需要将目录更改为新创建的环境文件夹(其中包含完整的Python发行版)并激活它:
cd muo
source bin/activate
Python虚拟环境现在可以使用了,系统提示符前面将添加其名称,在本例中为muo-project
。这表明您不再使用系统版本的Python,而是虚拟环境中的版本。因此,您对其所做的任何更改或安装的模块都不会影响系统Python。
请注意,如果重新启动树莓派,则需要重新激活Python环境才能再次使用它。
如果要创建一个包含当前操作系统级别安装的所有Python模块副本的Python虚拟环境,可以通过在命令中添加--system-site-packages
标志来实现。例如:python -m venv --system-site-packages muo-project
。
使用Pip安装Python包
在激活的Python虚拟环境中,您现在可以使用pip
命令安装任何所需的包。例如,安装Stressberry系统压力测试工具:
pip install stressberry
然后,它将在您的Python虚拟环境中安装该模块及其所需的任何依赖项。请注意,该模块仅在虚拟环境中可用,而不是在系统范围内可用。
不再有Python包冲突
虽然在树莓派操作系统Bookworm中使用pip
工具安装Python包需要额外的步骤,但好处是它们只存在于虚拟环境中,因此不会干扰或破坏系统。