0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

?如何在虛擬環(huán)境中使用 Python,提升你的開發(fā)體驗~

上海晶珩電子科技有限公司 ? 2025-03-25 09:34 ? 次閱讀

Raspberry Pi OS預裝了Python,你需要使用其虛擬環(huán)境來安裝包。今天出版的最新一期《The MagPi》雜志刊登了我們文檔負責人Nate Contino撰寫的一篇實用教程,幫助你入門。

Raspberry Pi OS預裝了Python 3。干擾系統Python的安裝可能會給你的操作系統帶來問題。安裝第三方Python庫時,請務必使用正確的包管理工具。

Linux上,你可以通過兩種方式安裝Python依賴:

使用apt安裝預配置的系統包

  • 在虛擬環(huán)境中使用Python的依賴管理器pip安裝庫

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

可以在 Thonny 內部創(chuàng)建虛擬環(huán)境,也可以通過命令行創(chuàng)建虛擬環(huán)境。

使用apt安裝Python包

通過apt安裝的包是專門為Raspberry Pi OS打包的。這些包通常已經過預編譯,因此安裝速度更快。由于apt管理所有包的依賴項,因此使用此方法安裝包括運行該包所需的所有子依賴項。如果你卸載包,apt還可以確保你不會破壞其他包。

例如,要安裝支持Raspberry Pi Build HAT的Python 3庫,請運行以下命令:

$ sudo apt install python3-build-hat

要查找通過apt分發(fā)的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安裝包會導致錯誤。

相反,應將庫安裝到虛擬環(huán)境(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虛擬環(huán)境(venv)中。虛擬環(huán)境是一個容器,你可以在其中安全地安裝第三方模塊,這樣它們就不會干擾你的系統Python。

在虛擬環(huán)境中使用pip

要使用虛擬環(huán)境,請創(chuàng)建一個容器來存儲環(huán)境。根據你想要如何使用Python,有幾種方法可以做到這一點:

按項目環(huán)境

在項目文件夾中創(chuàng)建一個虛擬環(huán)境,以安裝該項目本地的包。

許多用戶為每個Python項目創(chuàng)建單獨的虛擬環(huán)境。將虛擬環(huán)境定位在每個項目的根文件夾中,通常使用一個共享的名稱,如env。從每個項目的根文件夾運行以下命令來創(chuàng)建虛擬環(huán)境配置文件夾:

$ python -m venv env

在開始處理項目之前,從項目的根目錄運行以下命令以開始使用虛擬環(huán)境:

$ source env/bin/activate

然后你應該會看到一個類似于以下的提示符:

$ (.env) $

當你完成一個項目的工作后,從任何目錄運行以下命令以退出虛擬環(huán)境:

$ deactivate

按用戶環(huán)境

而不是為你的每個Python項目創(chuàng)建一個虛擬環(huán)境,你可以為你的用戶帳戶創(chuàng)建一個單獨的虛擬環(huán)境。在運行任何Python代碼之前激活該虛擬環(huán)境。對于跨項目共享許多庫的工作流,這種方法可能更方便。

在為整個用戶帳戶的多個項目創(chuàng)建虛擬環(huán)境時,請考慮將虛擬環(huán)境配置文件定位在你的主目錄中。將你的配置文件存儲在一個名稱以句點開頭的文件夾中,以便默認隱藏該文件夾,防止其使你的主文件夾雜亂無章。

在主目錄中添加一個虛擬環(huán)境,以便在多個項目中使用并共享包。

使用以下命令在當前用戶的主目錄中的隱藏文件夾中創(chuàng)建一個虛擬環(huán)境:

$ python -m venv ~/.env

從任何目錄運行以下命令以開始使用虛擬環(huán)境:

$ source ~/.env/bin/activate

然后你應該會看到一個類似于以下的提示符:

$ (.env) $

要退出虛擬環(huán)境,從任何目錄運行以下命令:

$ deactivate

創(chuàng)建虛擬環(huán)境

運行以下命令以創(chuàng)建虛擬環(huán)境配置文件夾,將替換為你想要為虛擬環(huán)境使用的名稱(例如env):

$ python -m venv

進入虛擬環(huán)境

然后,在虛擬環(huán)境配置文件夾中執(zhí)行bin/activate腳本來進入虛擬環(huán)境:

$ source /bin/activate

然后你應該會看到一個類似于以下的提示符:

$ () $

()命令提示符前綴表示當前終端會話處于名為的虛擬環(huán)境中。

要檢查你是否處于虛擬環(huán)境中,請使用pip list查看已安裝包的列表:

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

列表應該比你的系統Python中安裝的包列表短得多?,F在你可以安全地使用pip安裝包。在虛擬環(huán)境中,你使用pip安裝的任何包都只安裝到該虛擬環(huán)境中。在虛擬環(huán)境中,python或python3命令會自動使用虛擬環(huán)境的Python版本和已安裝包,而不是系統Python。

小貼士:在文件夾名稱前傳遞–system-site-packages標志,以將當前系統Python安裝中已安裝的所有包預加載到虛擬環(huán)境中。

退出虛擬環(huán)境

要退出虛擬環(huán)境,運行以下命令:

$ () $ deactivate

使用Thonny編輯器

我們建議在Raspberry Pi上使用Thonny編輯Python代碼。

默認情況下,Thonny使用系統Python。但是,你可以通過點擊Thonny窗口右下角的解釋器菜單來切換到使用Python虛擬環(huán)境。選擇一個已配置的環(huán)境或使用“配置解釋器”配置一個新的虛擬環(huán)境。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 虛擬環(huán)境

    關注

    0

    文章

    29

    瀏覽量

    9000
  • python
    +關注

    關注

    56

    文章

    4820

    瀏覽量

    85472
  • Raspberry Pi
    +關注

    關注

    2

    文章

    613

    瀏覽量

    22539
收藏 人收藏

    評論

    相關推薦

    用離線安裝器安裝的idf,其創(chuàng)建的Python虛擬環(huán)境無激活腳本是怎么回事?

    如題,用離線安裝器安裝的idf,其創(chuàng)建的Python虛擬環(huán)境無激活腳本,具體如下圖所示: 反而用vscode插件安裝的idf有,如下圖:vscode插件安裝的idf的Python虛擬環(huán)境
    發(fā)表于 06-11 06:49

    虛擬環(huán)境網絡研討會中使用ArcGIS Pro存檔GIS工作流程?

    我無法參加今天在虛擬環(huán)境中使用ArcGIS Pro的GIS工作流程的網絡研討會?,F在點擊該鏈接可以轉到該事件的readytalk存檔頁面,但沒有提及錄音。有沒有辦法觀看這個活動?謝謝以上來自于谷歌
    發(fā)表于 09-07 16:42

    Linux的虛擬環(huán)境使用方法

    linux下安裝虛擬環(huán)境:1.安裝虛擬環(huán)境sudo apt install python-virtualenvsudo easy_install virtualenvwrapper或者sudo
    發(fā)表于 07-23 07:25

    python虛擬環(huán)境使用方法

    python虛擬環(huán)境
    發(fā)表于 09-17 09:02

    python虛擬環(huán)境創(chuàng)建

    python使用虛擬環(huán)境管理包
    發(fā)表于 03-19 10:13

    詳解Python虛擬環(huán)境搭建

    手把手教你搭建Python虛擬環(huán)境,還不會的同學收藏學習哦!
    發(fā)表于 03-30 13:36

    何在 Linux 上安裝 Python

    Python 提供了名為 venv(虛擬環(huán)境)的軟件包,可幫助你將程序目錄或軟件包與其他目錄或軟件包隔離。要創(chuàng)建虛擬環(huán)境,請在 Python 終端中輸入以下內容(在此示例中,假定
    發(fā)表于 05-14 14:13

    項目的創(chuàng)建及虛擬環(huán)境的配置

    Flask學習系列2一項目的創(chuàng)建及虛擬環(huán)境的配置
    發(fā)表于 05-29 12:57

    Python虛擬環(huán)境的作用和搭建方法

    Python虛擬環(huán)境的作用及搭建方法
    發(fā)表于 06-08 07:32

    【Milk-V Duo 開發(fā)板免費體驗】Milk-V Duo 開發(fā)板使用阿里云主機的python環(huán)境搭建

    配置: “ source /etc/profile “ 您現在可以在任何終端窗口中使Python 3.6命令了。 5、設置Python虛擬環(huán)境(選項)
    發(fā)表于 08-18 00:49

    python如何配置虛擬環(huán)境?

    python虛擬環(huán)境可以為一個 python 項目提供獨立的解釋環(huán)境、依賴包等資源,既能夠很好的隔離不同項目使用不同 python 版本
    發(fā)表于 01-07 17:12 ?1011次閱讀

    Python虛擬環(huán)境pipenv的使用

    一般我們創(chuàng)建 Python 項目的時候都會創(chuàng)建一個虛擬環(huán)境,這樣做的好處就是會把項目環(huán)境和操作系統環(huán)境區(qū)分開來,避免把操作系統環(huán)境弄亂。 還
    的頭像 發(fā)表于 08-23 10:15 ?1840次閱讀

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

    何在python代碼中使用HTTP代理IP。
    的頭像 發(fā)表于 08-04 15:46 ?1371次閱讀

    創(chuàng)建Root權限虛擬環(huán)境

    虛擬環(huán)境: conda create -n myroot python=3.5 myroot為自己定義的環(huán)境名稱,對應的python3.5版本。 windows下激活
    的頭像 發(fā)表于 01-11 17:01 ?1213次閱讀
    創(chuàng)建Root權限<b class='flag-5'>虛擬環(huán)境</b>

    Python虛擬環(huán)境究竟是什么

    本質上,Python虛擬環(huán)境目的和上面是一樣的。希望大家不要誤解“虛擬”二字,Python虛擬環(huán)境無非就是將系統的
    的頭像 發(fā)表于 02-24 14:21 ?1173次閱讀