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

Python中venv虛擬環(huán)境超詳細(xì)講解

 更新時(shí)間:2025年04月11日 08:29:51   作者:網(wǎng)絡(luò)風(fēng)云  
虛擬環(huán)境是一個(gè)獨(dú)立的Python環(huán)境,它與系統(tǒng)的全局Python環(huán)境隔離,這篇文章主要介紹了Python中venv虛擬環(huán)境的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

venv是Python 內(nèi)置的用于創(chuàng)建虛擬環(huán)境的工具,它可以為每個(gè)項(xiàng)目創(chuàng)建一個(gè)獨(dú)立的 Python 環(huán)境,避免不同項(xiàng)目之間的依賴沖突。虛擬環(huán)境允許每個(gè)項(xiàng)目擁有自己的依賴庫,而不影響全局的 Python 環(huán)境。它是管理 Python 項(xiàng)目依賴和避免版本沖突的重要工具。

1. 什么是虛擬環(huán)境?

虛擬環(huán)境是一個(gè)獨(dú)立的 Python 環(huán)境,它與系統(tǒng)的全局 Python 環(huán)境隔離。每個(gè)虛擬環(huán)境可以有自己的 Python 版本、庫和工具,這樣不同的項(xiàng)目可以使用不同版本的依賴庫,而互不干擾。

python的虛擬環(huán)境總有兩款:anaconda和venv,anaconda是一個(gè)跨平臺(tái)的python發(fā)行版,提供了用于科學(xué)計(jì)算和數(shù)據(jù)分析大量的庫和工具,有著復(fù)雜的依賴項(xiàng)解析和環(huán)境管理能力,這個(gè)風(fēng)云以后再單獨(dú)詳細(xì)介紹,今天主要講python內(nèi)置的venv。先看下圖:

這就是虛擬環(huán)境和系統(tǒng)環(huán)境的存在關(guān)系,可以很清晰地看出,當(dāng)虛擬環(huán)境01使用python3.8,而虛擬環(huán)境使用python3.12時(shí),它們之間又有著各自不同的依賴庫時(shí),venv就可以將它們隔離開,保障依賴模塊的一致性,實(shí)現(xiàn)應(yīng)用穩(wěn)定。使用虛擬環(huán)境的優(yōu)點(diǎn)還有:

  • 避免依賴沖突:每個(gè)項(xiàng)目的依賴都在獨(dú)立的環(huán)境中管理,避免了不同項(xiàng)目間的依賴版本沖突。
  • 簡(jiǎn)化部署:可以輕松復(fù)制環(huán)境,確保開發(fā)、測(cè)試和生產(chǎn)環(huán)境的一致性。
  • 不污染全局環(huán)境:不會(huì)對(duì)全局的 Python 環(huán)境或系統(tǒng)級(jí)的 Python 庫造成影響。

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

2.1 使用 venv 創(chuàng)建虛擬環(huán)境

venv 是 Python 3.3 及以上版本自帶的模塊,因此無需安裝任何額外的庫。創(chuàng)建虛擬環(huán)境的基本命令如下:

python -m venv <env_name>

其中,<env_name> 是虛擬環(huán)境的名稱??梢灾付ㄒ粋€(gè)目錄作為虛擬環(huán)境的位置,Python 會(huì)在該目錄下創(chuàng)建虛擬環(huán)境。

示例:

# 創(chuàng)建一個(gè)名為 "myenv" 的虛擬環(huán)境

python -m venv myenv

執(zhí)行此命令后,myenv 目錄會(huì)包含以下內(nèi)容:

  • bin/:包含虛擬環(huán)境中的可執(zhí)行文件(如 Python、pip)。
  • lib/:包含虛擬環(huán)境的 Python 庫。
  • pyvenv.cfg:虛擬環(huán)境的配置文件,包含 Python 版本等信息。

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

創(chuàng)建虛擬環(huán)境后,必須激活它才能在該環(huán)境中運(yùn)行 Python 和安裝依賴。

3.1 激活虛擬環(huán)境(Windows)

在 Windows 系統(tǒng)中,使用以下命令激活虛擬環(huán)境:

myenv\Scripts\activate

成功激活后,你會(huì)看到命令提示符發(fā)生變化,顯示虛擬環(huán)境的名稱:

(myenv) C:\path\to\project>

3.2 激活虛擬環(huán)境(Linux/macOS)

在 Linux 或 macOS 系統(tǒng)中,使用以下命令激活虛擬環(huán)境:

source myenv/bin/activate

成功激活后,命令行會(huì)顯示 (myenv),表示當(dāng)前處于虛擬環(huán)境中:

(myenv) user@host:path/to/project$

4. 使用虛擬環(huán)境

在虛擬環(huán)境激活后,你可以使用其中的 Python 解釋器和 pip 安裝依賴庫。

4.1 安裝依賴庫

可以使用 pip 安裝項(xiàng)目所需的庫,所有庫都會(huì)安裝在虛擬環(huán)境中,而不會(huì)影響全局 Python 環(huán)境。

# 安裝 requests 庫
pip install requests

安裝的依賴將會(huì)記錄在虛擬環(huán)境的 lib/ 目錄中,你可以通過 pip freeze 命令查看已安裝的庫:

pip freeze

輸出類似:

makefile

requests==2.32.3

4.2 運(yùn)行 Python 程序

在虛擬環(huán)境中,可以直接運(yùn)行 Python 程序:

python my_script.py

這里的 python 會(huì)指向虛擬環(huán)境中的 Python 解釋器。

4.3 查看虛擬環(huán)境的 Python 版本

每個(gè)虛擬環(huán)境都有獨(dú)立的 Python 解釋器,你可以通過以下命令查看當(dāng)前環(huán)境使用的 Python 版本:

python --version

4.4 使用 pip 管理依賴

在虛擬環(huán)境中,你可以使用 pip 來管理項(xiàng)目的依賴庫,安裝、升級(jí)、卸載庫等。

  • 安裝庫:pip install <package>
  • 升級(jí)庫:pip install --upgrade <package>
  • 卸載庫:pip uninstall <package>

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

退出虛擬環(huán)境可以使用 deactivate 命令。退出后,你的終端將恢復(fù)到全局 Python 環(huán)境。

deactivate

執(zhí)行該命令后,你會(huì)看到命令行中的 (myenv) 消失,表示已經(jīng)退出虛擬環(huán)境。

6. 導(dǎo)出和導(dǎo)入虛擬環(huán)境的依賴

6.1 導(dǎo)出虛擬環(huán)境的依賴

使用 pip freeze 命令可以導(dǎo)出當(dāng)前虛擬環(huán)境中已安裝的所有依賴庫,并保存為 requirements.txt 文件。該文件可以用于在其他環(huán)境中重現(xiàn)相同的依賴。

# 導(dǎo)出當(dāng)前虛擬環(huán)境的依賴到 requirements.txt 文件
pip freeze > requirements.txt

requirements.txt 文件中將包含類似以下內(nèi)容:

requests==2.32.3

6.2 在其他環(huán)境中安裝依賴

在其他機(jī)器或虛擬環(huán)境中,可以使用 requirements.txt 文件安裝相同的依賴:

# 在另一個(gè)虛擬環(huán)境中安裝依賴
pip install -r requirements.txt

這將根據(jù) requirements.txt 文件中的信息安裝所有依賴。

7. 升級(jí)虛擬環(huán)境中的依賴

當(dāng)你需要升級(jí)虛擬環(huán)境中的某個(gè)庫時(shí),可以使用 pip install --upgrade 命令:

# 升級(jí) requests 庫
pip install --upgrade requests

如果你希望升級(jí)所有已安裝的庫,可以執(zhí)行:

# 升級(jí)所有依賴庫
pip install --upgrade -r requirements.txt

這樣會(huì)根據(jù) requirements.txt 中的依賴版本升級(jí)所有庫。

8. 應(yīng)用場(chǎng)景

8.1 項(xiàng)目隔離

在多個(gè)項(xiàng)目中使用虛擬環(huán)境,可以確保每個(gè)項(xiàng)目擁有獨(dú)立的依賴,不同項(xiàng)目間不會(huì)發(fā)生版本沖突。例如,你的項(xiàng)目 A 使用的是 requests==2.32.3,而項(xiàng)目 B 使用的是 requests==2.25.1,兩者之間不會(huì)相互干擾。

8.2 依賴管理

通過 venv 和 requirements.txt,可以輕松地將所有依賴庫的版本信息記錄下來,并在不同環(huán)境中重現(xiàn)相同的開發(fā)或生產(chǎn)環(huán)境,保證項(xiàng)目的可移植性和一致性。

8.3 開發(fā)和生產(chǎn)環(huán)境的切換

你可以為開發(fā)和生產(chǎn)環(huán)境創(chuàng)建不同的虛擬環(huán)境,以避免開發(fā)過程中使用的庫與生產(chǎn)環(huán)境中的庫發(fā)生沖突。這種方式有助于確保生產(chǎn)環(huán)境的穩(wěn)定性。

9. 總結(jié)

venv 是 Python 中創(chuàng)建和管理虛擬環(huán)境的標(biāo)準(zhǔn)工具,它為每個(gè)項(xiàng)目提供了獨(dú)立的環(huán)境,避免了庫版本沖突和依賴污染。通過本文的介紹,你應(yīng)該能夠:

  • 創(chuàng)建、激活和退出虛擬環(huán)境;
  • 安裝、升級(jí)和卸載項(xiàng)目依賴;
  • 導(dǎo)出和導(dǎo)入依賴清單;
  • 使用虛擬環(huán)境管理多個(gè)項(xiàng)目和開發(fā)環(huán)境。

venv 是 Python 項(xiàng)目管理中不可或缺的工具,尤其對(duì)于多項(xiàng)目開發(fā)和團(tuán)隊(duì)協(xié)作具有重要意義。

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

相關(guān)文章

  • Python+OpenCV實(shí)現(xiàn)實(shí)時(shí)眼動(dòng)追蹤的示例代碼

    Python+OpenCV實(shí)現(xiàn)實(shí)時(shí)眼動(dòng)追蹤的示例代碼

    這篇文章主要介紹了Python+OpenCV實(shí)現(xiàn)實(shí)時(shí)眼動(dòng)追蹤的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Python如何實(shí)用File文件的實(shí)現(xiàn)

    Python如何實(shí)用File文件的實(shí)現(xiàn)

    本文主要介紹了Python如何實(shí)用File文件的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python 十大特性

    Python 十大特性

    這篇文章主要給大家分享的是Python十大特性,Python 編程語言是世界上發(fā)展最快的編程語言。這一高級(jí)通用編程語言提供了廣泛的實(shí)際應(yīng)用,并且是一種非常流行的認(rèn)證,下面我們就來看看它都有哪些特性吧
    2022-01-01
  • django form和field具體方法和屬性說明

    django form和field具體方法和屬性說明

    這篇文章主要介紹了django form和field具體方法和屬性說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • 關(guān)于Python常用模塊時(shí)間模塊time

    關(guān)于Python常用模塊時(shí)間模塊time

    這篇文章主要介紹了關(guān)于Python常用模塊時(shí)間模塊time,這個(gè)模塊是Python自帶的,我們不需要去下載,直接導(dǎo)入就可以使用,需要的朋友可以參考下
    2023-04-04
  • PyTorch使用教程之Tensor包詳解

    PyTorch使用教程之Tensor包詳解

    這篇文章介紹了PyTorch中的張量(Tensor)數(shù)據(jù)結(jié)構(gòu),包括張量的數(shù)據(jù)類型、初始化、常用操作、屬性等,張量是PyTorch框架中的核心數(shù)據(jù)結(jié)構(gòu),支持多種數(shù)據(jù)類型,可以通過工廠函數(shù)構(gòu)造張量,并提供了豐富的操作和屬性,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • Python繪制可以表示點(diǎn)密度的散點(diǎn)圖得方法

    Python繪制可以表示點(diǎn)密度的散點(diǎn)圖得方法

    本文介紹基于Python語言的matplotlib模塊,對(duì)Excel表格文件中的指定數(shù)據(jù),加以密度散點(diǎn)圖繪制的方法,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下
    2024-05-05
  • 使用Python編寫一個(gè)模仿CPU工作的程序

    使用Python編寫一個(gè)模仿CPU工作的程序

    這篇文章主要介紹了使用Python編寫一個(gè)模仿CPU工作的程序,包括簡(jiǎn)單的內(nèi)存和輸入輸出的實(shí)現(xiàn),本文中的例子需要一定的Python編程基礎(chǔ),是深入Python的實(shí)踐,需要的朋友可以參考下
    2015-04-04
  • Python實(shí)現(xiàn)定時(shí)自動(dòng)關(guān)閉的tkinter窗口方法

    Python實(shí)現(xiàn)定時(shí)自動(dòng)關(guān)閉的tkinter窗口方法

    今天小編就為大家分享一篇Python實(shí)現(xiàn)定時(shí)自動(dòng)關(guān)閉的tkinter窗口方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Elasticsearches之python使用及Django與Flask集成示例

    Elasticsearches之python使用及Django與Flask集成示例

    這篇文章主要為大家介紹了Elasticsearches之python使用及Django與Flask集成示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-04-04

最新評(píng)論

阿拉善左旗| 华容县| 阿鲁科尔沁旗| 马龙县| 喀什市| 贵定县| 临高县| 颍上县| 金昌市| 定南县| 新平| 普安县| 疏附县| 齐河县| 临泉县| 错那县| 西充县| 绥滨县| 霍林郭勒市| 秭归县| 焦作市| 静宁县| 中卫市| 乌拉特前旗| 大英县| 莎车县| 息烽县| 靖江市| 建昌县| 金塔县| 三亚市| 洮南市| 富川| 苗栗市| 贵南县| 山西省| 丹江口市| 石首市| 沅江市| 临西县| 拉萨市|