0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

?如何在虚拟环境中使用 Python,提升你的开发体验~

上海晶珩电子科技有限公司 ? 2025-03-25 09:34 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Raspberry Pi OS预装了Python,你需要使用其虚拟环境来安装包。今天出版的最新一期《The MagPi》杂志刊登了我们文档负责人Nate Contino撰写的一篇实用教程,帮助你入门。

Raspberry Pi OS预装了Python 3。干扰系统Python的安装可能会给你的操作系统带来问题。安装第三方Python库时,请务必使用正确的包管理工具。

Linux上,你可以通过两种方式安装Python依赖:

使用apt安装预配置的系统包

  • 在虚拟环境中使用Python的依赖管理器pip安装库

5509f290-0919-11f0-9434-92fbcf53809c.jpg

可以在 Thonny 内部创建虚拟环境,也可以通过命令行创建虚拟环境。

使用apt安装Python包

通过apt安装的包是专门为Raspberry Pi OS打包的。这些包通常已经过预编译,因此安装速度更快。由于apt管理所有包的依赖项,因此使用此方法安装包括运行该包所需的所有子依赖项。如果你卸载包,apt还可以确保你不会破坏其他包。

例如,要安装支持Raspberry Pi Build HAT的Python 3库,请运行以下命令:

$ sudo apt install python3-build-hat

要查找通过apt分发的Python包,请使用apt search。在大多数情况下,Python包使用前缀python-或python3-:例如,你可以在python3-numpy下找到numpy包。

使用pip安装Python库

在Raspberry Pi OS的旧版本中,你可以使用pip直接将库安装到系统版本的Python中。但从Raspberry Pi OS Bookworm版本开始,用户无法直接将库安装到系统版本的Python中。

在Raspberry Pi OS Bookworm中尝试使用pip安装包会导致错误。

相反,应将库安装到虚拟环境(venv)中。若要在系统级别为所有用户安装库,请使用apt进行安装。

尝试在系统范围内安装Python包会输出类似于以下的错误:

$ pip install buildhaterror: externally-managed-environment
× This environment is externally managed╰─> To install Python packages system-wide, try apt install python3-xyz, where xyz is the package you are trying to install.
If you wish to install a non-Debian-packaged Python package, create a virtual environment using python3 -m venv path/to/venv. Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make sure you have python3-full installed.
For more information visit http://rptl.io/venv
note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.hint: See PEP 668 for the detailed specification.

长期以来,Python用户一直需要处理像apt这样的操作系统包管理器和像pip这样的Python专用包管理工具之间的冲突。这些冲突包括Python级别的API不兼容性和文件所有权冲突。

从Raspberry Pi OS Bookworm版本开始,通过pip安装的包必须安装到Python虚拟环境(venv)中。虚拟环境是一个容器,你可以在其中安全地安装第三方模块,这样它们就不会干扰你的系统Python。

在虚拟环境中使用pip

要使用虚拟环境,请创建一个容器来存储环境。根据你想要如何使用Python,有几种方法可以做到这一点:

按项目环境

在项目文件夹中创建一个虚拟环境,以安装该项目本地的包。

许多用户为每个Python项目创建单独的虚拟环境。将虚拟环境定位在每个项目的根文件夹中,通常使用一个共享的名称,如env。从每个项目的根文件夹运行以下命令来创建虚拟环境配置文件夹:

$ python -m venv env

在开始处理项目之前,从项目的根目录运行以下命令以开始使用虚拟环境:

$ source env/bin/activate

然后你应该会看到一个类似于以下的提示符:

$ (.env) $

当你完成一个项目的工作后,从任何目录运行以下命令以退出虚拟环境:

$ deactivate

按用户环境

而不是为你的每个Python项目创建一个虚拟环境,你可以为你的用户帐户创建一个单独的虚拟环境。在运行任何Python代码之前激活该虚拟环境。对于跨项目共享许多库的工作流,这种方法可能更方便。

在为整个用户帐户的多个项目创建虚拟环境时,请考虑将虚拟环境配置文件定位在你的主目录中。将你的配置文件存储在一个名称以句点开头的文件夹中,以便默认隐藏该文件夹,防止其使你的主文件夹杂乱无章。

在主目录中添加一个虚拟环境,以便在多个项目中使用并共享包。

使用以下命令在当前用户的主目录中的隐藏文件夹中创建一个虚拟环境:

$ python -m venv ~/.env

从任何目录运行以下命令以开始使用虚拟环境:

$ source ~/.env/bin/activate

然后你应该会看到一个类似于以下的提示符:

$ (.env) $

要退出虚拟环境,从任何目录运行以下命令:

$ deactivate

创建虚拟环境

运行以下命令以创建虚拟环境配置文件夹,将替换为你想要为虚拟环境使用的名称(例如env):

$ python -m venv

进入虚拟环境

然后,在虚拟环境配置文件夹中执行bin/activate脚本来进入虚拟环境:

$ source /bin/activate

然后你应该会看到一个类似于以下的提示符:

$ () $

()命令提示符前缀表示当前终端会话处于名为的虚拟环境中。

要检查你是否处于虚拟环境中,请使用pip list查看已安装包的列表:

$ () $ pip listPackage Version---------- -------pip 23.0.1setuptools 66.1.1

列表应该比你的系统Python中安装的包列表短得多。现在你可以安全地使用pip安装包。在虚拟环境中,你使用pip安装的任何包都只安装到该虚拟环境中。在虚拟环境中,python或python3命令会自动使用虚拟环境的Python版本和已安装包,而不是系统Python。

小贴士:在文件夹名称前传递–system-site-packages标志,以将当前系统Python安装中已安装的所有包预加载到虚拟环境中。

退出虚拟环境

要退出虚拟环境,运行以下命令:

$ () $ deactivate

使用Thonny编辑器

我们建议在Raspberry Pi上使用Thonny编辑Python代码。

默认情况下,Thonny使用系统Python。但是,你可以通过点击Thonny窗口右下角的解释器菜单来切换到使用Python虚拟环境。选择一个已配置的环境或使用“配置解释器”配置一个新的虚拟环境。

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

    关注

    0

    文章

    30

    浏览量

    9070
  • python
    +关注

    关注

    56

    文章

    4831

    浏览量

    87355
  • Raspberry Pi
    +关注

    关注

    2

    文章

    620

    浏览量

    23195
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    用离线安装器安装的idf,其创建的Python虚拟环境无激活脚本是怎么回事?

    如题,用离线安装器安装的idf,其创建的Python虚拟环境无激活脚本,具体如下图所示: 反而用vscode插件安装的idf有,如下图:vscode插件安装的idf的Python虚拟环境
    发表于 06-11 06:49

    linux虚拟环境中调用Linux 版matlab编译的python库时出错

    wjn_cao 安装CAO_python包(要安装到虚拟环境下): ①激活环境: conda activate wjn_cao ②安装CAO_C2F_python包到
    发表于 07-18 10:40

    Linux的虚拟环境使用方法

    linux下安装虚拟环境:1.安装虚拟环境sudo apt install python-virtualenvsudo easy_install virtualenvwrapper或者sudo
    发表于 07-23 07:25

    python虚拟环境使用方法

    python虚拟环境
    发表于 09-17 09:02

    python虚拟环境创建

    python使用虚拟环境管理包
    发表于 03-19 10:13

    详解Python虚拟环境搭建

    手把手教你搭建Python虚拟环境,还不会的同学收藏学习哦!
    发表于 03-30 13:36

    何在 Linux 上安装 Python

    Python 提供了名为 venv(虚拟环境)的软件包,可帮助你将程序目录或软件包与其他目录或软件包隔离。要创建虚拟环境,请在 Python 终端中输入以下内容(在此示例中,假定
    发表于 05-14 14:13

    Python虚拟环境的作用和搭建方法

    Python虚拟环境的作用及搭建方法
    发表于 06-08 07:32

    【Milk-V Duo 开发板免费体验】Milk-V Duo 开发板使用阿里云主机的python环境搭建

    配置: “ source /etc/profile “ 您现在可以在任何终端窗口中使Python 3.6命令了。 5、设置Python虚拟环境(选项)
    发表于 08-18 00:49

    python如何配置虚拟环境

    python虚拟环境可以为一个 python 项目提供独立的解释环境、依赖包等资源,既能够很好的隔离不同项目使用不同 python 版本
    发表于 01-07 17:12 ?1106次阅读

    Python虚拟环境pipenv的使用

    一般我们创建 Python 项目的时候都会创建一个虚拟环境,这样做的好处就是会把项目环境和操作系统环境区分开来,避免把操作系统环境弄乱。 还
    的头像 发表于 08-23 10:15 ?1988次阅读

    何在python代码中使用HTTP代理IP

    何在python代码中使用HTTP代理IP。
    的头像 发表于 08-04 15:46 ?1516次阅读

    创建Root权限虚拟环境

    虚拟环境: conda create -n myroot python=3.5 myroot为自己定义的环境名称,对应的python3.5版本。 windows下激活
    的头像 发表于 01-11 17:01 ?1344次阅读
    创建Root权限<b class='flag-5'>虚拟环境</b>

    Python虚拟环境究竟是什么

    本质上,Python虚拟环境目的和上面是一样的。希望大家不要误解“虚拟”二字,Python虚拟环境无非就是将系统的
    的头像 发表于 02-24 14:21 ?1367次阅读

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

    在这篇简明扼要的指南中,我们将探讨如何在树莓派上设置和使用虚拟环境(或称为Venv)——包括在终端和Thonny集成开发环境中。使用Bookworm操作系统或更高版本时,或在尝试安装
    的头像 发表于 07-27 13:24 ?121次阅读
    初学者指南:树莓派上搭建<b class='flag-5'>虚拟环境</b>!