最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python內(nèi)置venv虛擬環(huán)境工具的使用完全指南

 更新時(shí)間:2025年12月30日 09:29:13   作者:40324073  
venv 是 Python 3.3 + 自帶的內(nèi)置虛擬環(huán)境工具,無(wú)需額外安裝,核心作用是為不同 Python 項(xiàng)目創(chuàng)建隔離的運(yùn)行環(huán)境,下面詳細(xì)講解它的創(chuàng)建、查看、激活、退出等核心操作,有需要的可以了解下

venv 是 Python 3.3 + 自帶的內(nèi)置虛擬環(huán)境工具,無(wú)需額外安裝,核心作用是為不同 Python 項(xiàng)目創(chuàng)建隔離的運(yùn)行環(huán)境,避免依賴(lài)包版本沖突。下面詳細(xì)講解它的創(chuàng)建、查看、激活、退出等核心操作,同時(shí)覆蓋不同系統(tǒng)的差異。

一、前提準(zhǔn)備

確保你的系統(tǒng)已安裝 Python 3.3+(可通過(guò) python3 --version 或 python --version 驗(yàn)證)。部分 Linux 系統(tǒng)(如 Ubuntu)默認(rèn)未安裝 venv 模塊,需先執(zhí)行以下命令安裝依賴(lài):

# Ubuntu/Debian系列
sudo apt update && sudo apt install -y python3-venv

二、核心操作詳解

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

(1)基礎(chǔ)創(chuàng)建(默認(rèn)隔離模式)

命令格式:

# 基礎(chǔ)命令:在當(dāng)前目錄創(chuàng)建名為【環(huán)境名】的虛擬環(huán)境(默認(rèn)不繼承系統(tǒng)全局包)
python3 -m venv 環(huán)境名

示例

# 創(chuàng)建名為my_project_venv的虛擬環(huán)境(隔離模式)
python3 -m venv my_project_venv

說(shuō)明:執(zhí)行命令后,當(dāng)前目錄會(huì)生成與 “環(huán)境名” 同名的文件夾,包含 Python 解釋器、pip 工具、依賴(lài)包存儲(chǔ)目錄等。默認(rèn)情況下,虛擬環(huán)境是完全隔離的,不會(huì)使用系統(tǒng)全局安裝的 Python 包,所有依賴(lài)需重新通過(guò) pip 安裝。

若系統(tǒng)存在多個(gè) Python 版本(如 Python3.8、Python3.10),可指定具體版本創(chuàng)建:

python3.8 -m venv my_project_venv_38  # 使用Python3.8創(chuàng)建虛擬環(huán)境
python3.10 -m venv my_project_venv_310  # 使用Python3.10創(chuàng)建虛擬環(huán)境

(2)帶 --system-site-packages 參數(shù)創(chuàng)建(繼承系統(tǒng)全局包)

參數(shù)含義:

--system-site-packages 是 venv 的核心可選參數(shù),作用是讓創(chuàng)建的虛擬環(huán)境繼承系統(tǒng)全局 Python 環(huán)境中已安裝的包(如系統(tǒng)全局安裝的 numpy、tensorflow 等),避免重復(fù)下載大型依賴(lài)包,節(jié)省磁盤(pán)空間和時(shí)間。

適用場(chǎng)景:

  • 系統(tǒng)已全局安裝某個(gè)大型庫(kù)(如深度學(xué)習(xí)框架、科學(xué)計(jì)算庫(kù)),多個(gè)項(xiàng)目需共用該庫(kù),無(wú)需重復(fù)安裝;
  • 部分庫(kù)依賴(lài)系統(tǒng)底層環(huán)境(如硬件驅(qū)動(dòng)相關(guān)包),全局安裝后需在虛擬環(huán)境中直接使用。

命令格式與示例:

# 帶系統(tǒng)包繼承的創(chuàng)建命令
python3 -m venv --system-site-packages 環(huán)境名

# 示例:創(chuàng)建繼承系統(tǒng)全局包的虛擬環(huán)境(命名建議帶標(biāo)識(shí),方便區(qū)分)
python3 -m venv --system-site-packages my_project_venv_with_global

關(guān)鍵注意事項(xiàng):

  • 繼承時(shí)機(jī):僅在虛擬環(huán)境創(chuàng)建時(shí)同步系統(tǒng)全局包,后續(xù)在系統(tǒng)全局安裝的新包,不會(huì)自動(dòng)同步到已創(chuàng)建的虛擬環(huán)境(需重新創(chuàng)建或手動(dòng)在虛擬環(huán)境中安裝);
  • 版本優(yōu)先級(jí):虛擬環(huán)境中通過(guò) pip 安裝的包,優(yōu)先級(jí)高于繼承的系統(tǒng)全局包(即若虛擬環(huán)境和系統(tǒng)全局安裝了同一包的不同版本,會(huì)優(yōu)先使用虛擬環(huán)境中的版本);
  • 兼容性風(fēng)險(xiǎn):若系統(tǒng)全局包版本與項(xiàng)目需求沖突,可能導(dǎo)致項(xiàng)目報(bào)錯(cuò),此時(shí)建議使用基礎(chǔ)隔離模式創(chuàng)建虛擬環(huán)境,單獨(dú)安裝適配版本的依賴(lài)。

2. 查看虛擬環(huán)境

核心邏輯:venv 創(chuàng)建的虛擬環(huán)境本質(zhì)是普通文件夾,沒(méi)有專(zhuān)屬的查詢命令,需通過(guò)系統(tǒng)的文件查詢指令查看。

不同系統(tǒng)操作:

系統(tǒng)類(lèi)型查看命令說(shuō)明
Linux/macOSls 目錄路徑(默認(rèn)當(dāng)前目錄直接輸入 ls)列出指定目錄下的文件夾,虛擬環(huán)境文件夾即為已創(chuàng)建的環(huán)境(如 my_project_venv)
Windows(CMD)dir 目錄路徑(默認(rèn)當(dāng)前目錄直接輸入 dir)列出當(dāng)前目錄下的文件夾 / 文件,可見(jiàn)虛擬環(huán)境文件夾
Windows(PowerShell)Get-ChildItem(簡(jiǎn)寫(xiě) gci)效果同 dir,更簡(jiǎn)潔的 PowerShell 指令

示例(Linux/macOS):

# 查看當(dāng)前目錄下的虛擬環(huán)境
ls
# 輸出:my_project_venv  my_project_venv_with_global (兩個(gè)虛擬環(huán)境文件夾)

# 查看指定目錄下的虛擬環(huán)境(如~/projects/venvs/)
ls ~/projects/venvs/

3. 激活虛擬環(huán)境

激活后,終端會(huì)顯示虛擬環(huán)境名稱(chēng)前綴(如 (my_project_venv)),此時(shí)通過(guò) pip 安裝的依賴(lài)會(huì)僅存于該環(huán)境(繼承模式下,新增依賴(lài)仍安裝在虛擬環(huán)境內(nèi),不影響系統(tǒng)全局)。

不同系統(tǒng)激活命令:

系統(tǒng)類(lèi)型激活命令
Linux/macOSsource 環(huán)境名 /bin/activate(示例:source my_project_venv_with_global/bin/activate)
Windows(CMD)環(huán)境名 \Scripts\activate.bat(示例:my_project_venv_with_global\Scripts\activate.bat)
Windows(PowerShell).\ 環(huán)境名 \Scripts\Activate.ps1(示例:.\my_project_venv_with_global\Scripts\Activate.ps1)

激活成功標(biāo)識(shí):終端前綴會(huì)新增 (環(huán)境名),例如:

  • Linux/macOS:(my_project_venv_with_global) user@localhost:~$
  • Windows:(my_project_venv_with_global) C:\Users\XXX\>

驗(yàn)證激活狀態(tài)(可選):

# 查看當(dāng)前Python路徑(指向虛擬環(huán)境內(nèi)的Python解釋器)
which python3  # Linux/macOS
where python   # Windows

# 查看當(dāng)前pip路徑(指向虛擬環(huán)境內(nèi)的pip)
which pip3     # Linux/macOS
where pip      # Windows

# 驗(yàn)證繼承的系統(tǒng)包(繼承模式下執(zhí)行,可看到系統(tǒng)全局安裝的包)
pip list  # 列出虛擬環(huán)境中的所有包(含繼承的系統(tǒng)包和后續(xù)安裝的包)

4. 退出虛擬環(huán)境

命令(所有系統(tǒng)通用):在已激活虛擬環(huán)境的終端中,直接輸入以下命令,無(wú)需額外參數(shù):

deactivate

退出成功標(biāo)識(shí):終端前綴的 (環(huán)境名) 消失,恢復(fù)到系統(tǒng)默認(rèn)終端樣式,此時(shí)操作會(huì)回到系統(tǒng)全局 Python 環(huán)境。

三、補(bǔ)充操作:刪除虛擬環(huán)境

venv 虛擬環(huán)境是普通文件夾,直接刪除對(duì)應(yīng)文件夾即可(刪除后不可恢復(fù),需謹(jǐn)慎操作):

系統(tǒng)類(lèi)型刪除命令 / 操作
Linux/macOSrm -rf 環(huán)境名(示例:rm -rf my_project_venv_with_global)
Windows手動(dòng)刪除環(huán)境文件夾,或在 CMD/PowerShell 中執(zhí)行 rd /s/q 環(huán)境名(示例:rd /s/q my_project_venv_with_global)

四、核心總結(jié)

操作命令格式關(guān)鍵說(shuō)明
基礎(chǔ)隔離模式創(chuàng)建python3 -m venv 環(huán)境名完全隔離系統(tǒng)全局包,依賴(lài)需重新安裝,無(wú)版本沖突風(fēng)險(xiǎn)
繼承系統(tǒng)包創(chuàng)建python3 -m venv --system-site-packages 環(huán)境名繼承系統(tǒng)全局包,節(jié)省空間,注意版本兼容性
激活虛擬環(huán)境按系統(tǒng)選擇對(duì)應(yīng)命令(如 Linux:source 環(huán)境名 /bin/activate)激活后終端帶環(huán)境名前綴,操作僅作用于當(dāng)前環(huán)境
退出虛擬環(huán)境deactivate所有系統(tǒng)通用,退出后回到全局 Python 環(huán)境
查看虛擬環(huán)境ls(Linux/macOS)/ dir(Windows)虛擬環(huán)境本質(zhì)是文件夾,通過(guò)系統(tǒng)命令查看
刪除虛擬環(huán)境rm -rf 環(huán)境名(Linux/macOS)/rd/s /q 環(huán)境名(Windows)直接刪除文件夾,需先退出虛擬環(huán)境,刪除后不可恢復(fù)

venv 輕量、無(wú)額外依賴(lài),是簡(jiǎn)單 Python 項(xiàng)目環(huán)境隔離的首選工具?;A(chǔ)隔離模式適合大多數(shù)場(chǎng)景,--system-site-packages 參數(shù)則為大型依賴(lài)復(fù)用提供了便捷方案,可根據(jù)項(xiàng)目需求靈活選擇~

到此這篇關(guān)于Python內(nèi)置venv虛擬環(huán)境工具的使用完全指南的文章就介紹到這了,更多相關(guān)Python venv虛擬環(huán)境內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

文登市| 阿拉尔市| 江达县| 宁陕县| 福泉市| 普陀区| 叶城县| 张家口市| 舞阳县| 黄冈市| 宾阳县| 武隆县| 堆龙德庆县| 察雅县| 鄂州市| 忻城县| 贵溪市| 农安县| 抚宁县| 留坝县| 黄陵县| 烟台市| 宁武县| 万山特区| 清新县| 马鞍山市| 怀远县| 乡宁县| 普宁市| 读书| 钟山县| 湘潭市| 库伦旗| 茌平县| 景泰县| 苍梧县| 藁城市| 岱山县| 子长县| 广河县| 房山区|