初学者指南:树莓派上搭建虚拟环境!

描述

在这篇简明扼要的指南中,我们将探讨如何在树莓派上设置和使用虚拟环境(或称为Venv)——包括在终端和Thonny集成开发环境中。

使用Bookworm操作系统或更高版本时,或在尝试安装Python软件包时,你可能会遇到以下错误:

  •  
  •  
  •  
  •  
  •  

error: externally-managed-environment× This environment is externally managed╰─> To install Python packages system-wide, try apt installpython3-xyz, where xyz is the package you are trying toinstall.

树莓派

这是由于Bookworm操作系统中Python的更改所致,现在要求我们使用虚拟环境通过PIP安装第三方软件包。这确实增加了需要学习的内容,但幸运的是,使用虚拟环境非常简单。

虚拟环境还为我们提供了额外的一层保护,因为它只是一个虚拟空间,我们可以将其用于项目,从而降低破坏或与其他软件及树莓派操作系统产生冲突的风险。


 

创建虚拟环境

创建虚拟环境最简单的方法是通过终端。从任务栏中选择终端以打开一个新终端窗口。

树莓派

创建新虚拟环境的命令是:

  •  

python3 -m venv --system-site-packages "NAME OF VENV"

在命令末尾加上环境名称。名称无关紧要,但要起一个有意义且易于输入的名字。另外,请确保不要输入引号。

例如,让我们看看在YOLO计算机视觉指南中如何设置虚拟环境。

这里我们创建一个名为“yolo_object”的虚拟环境,因此我们的命令如下:

  •  

python3 -m venv --system-site-packages yolo_object

树莓派

输入该命令后,创建新环境应只需几秒钟。

我们可以通过打开主文件夹并查看该虚拟环境的文件夹来确认其是否已创建。

树莓派


 

在虚拟环境中工作

让我们首先看看如何在终端中使用虚拟环境。在任何时候,你都可以通过输入以下source命令进入虚拟环境:

  •  

source "NAME OF VENV"/bin/activate

同样,你需要将“虚拟环境名称”替换为你创建的环境名称。

我们之前的示例使用了“yolo_object”,因此这行命令如下:

  •  

source yolo_object/bin/activate

树莓派

输入此命令后,你应该会在绿色文本的左侧看到虚拟环境的名称,如右侧图像所示。这意味着你当前正在虚拟环境中工作。此时,你可以安装项目所需的库和软件包,或执行任何所需操作。

如果需要重新进入此环境,例如,如果你关闭并重新打开终端窗口或重启树莓派,只需再次输入上述source命令,即可重新进入。

树莓派

现在,我们必须设置Thonny以使用此虚拟环境。如果库安装在虚拟环境中,除非Thonny也设置为在其中工作,否则它将无法访问该库。

为此,首先打开Thonny并确保它处于常规模式。第一次打开时,它可能处于简化模式,右上角会有“切换到常规模式”的选项,如右侧图像所示。

如果存在该选项,请选择它并重启Thonny。

现在,通过从顶部菜单栏中选择“运行”>“配置解释器”来打开解释器选项菜单。在“Python可执行文件”选项下,有一个带三个点的按钮。

树莓派

选择该按钮并导航到我们刚刚创建的虚拟环境文件夹。在名为“bin”的文件夹中,选择名为“python3”的文件,如右侧所示。

 根据我们之前的示例,位置应类似于home/pi/yolo_object/bin。选择文件后,单击“确定”。

树莓派

现在,你应该会在“Python可执行文件”选项下看到该虚拟环境的位置。如果你重启树莓派或关闭并重新打开Thonny,它将自动使用此环境。

只有当你通过此下拉菜单手动更改时,它才会退出此环境。如果需要重新进入此环境,只需从下拉菜单中选择它即可。

树莓派

现在,你应该能够输入Python代码并运行脚本了!

原文链接:
 

https://core-electronics.com.au/guides/raspberry-pi/raspberry-pi-virtual-environments/

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分