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

虛擬環(huán)境及venv和virtualenv的區(qū)別說明

 更新時(shí)間:2021年02月05日 12:00:15   作者:--D  
這篇文章主要介紹了虛擬環(huán)境及venv和virtualenv的區(qū)別說明,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧

一、虛擬環(huán)境概述

Python應(yīng)用程序通常會使用不在標(biāo)準(zhǔn)庫內(nèi)的軟件包和模塊。應(yīng)用程序有時(shí)需要特定版本的庫,修復(fù)特定的錯(cuò)誤,或者可以使用庫的過時(shí)版本的接口編寫應(yīng)用程序。

這說明一個(gè)Python安裝可能無法滿足每個(gè)應(yīng)用程序的要求。例如:應(yīng)用程序A需要特定模塊的1.0版本但應(yīng)用程序B需要2.0版本,則需求存在沖突,安裝版本1.0或2.0將導(dǎo)致某一個(gè)應(yīng)用程序無法運(yùn)行。

這個(gè)問題的解決方案是創(chuàng)建一個(gè)虛擬環(huán)境,一個(gè)目錄樹,其中安裝有特定Python版本,以及其他包。

不同的應(yīng)用將可以使用不同的虛擬環(huán)境。就可以解決需求相沖突的例子。

二、創(chuàng)建激活虛擬環(huán)境

用于創(chuàng)建和管理虛擬環(huán)境的模塊稱為venv。venv通常會安裝你可用的最新版本的 Python。若系統(tǒng)上有多個(gè)版本的Python,可以通過運(yùn)行 python3 或您想要的任何版本來指定Python版本。

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

如項(xiàng)目名叫tutorial,創(chuàng)建對應(yīng)的文件夾然后切換到根目錄:cd tutorial。

如果使用venv,使用命令:$ python -m venv tutorial-env

其中tutorial-env是虛擬環(huán)境的名字,也作為創(chuàng)建的虛擬環(huán)境文件夾名稱,可以自由修改。如果tutorial-env目錄不存在,它將為你創(chuàng)建一個(gè),并在其中創(chuàng)建包含Python解釋器,標(biāo)準(zhǔn)庫和各種支持文件的副本的目錄。

注意:需要tutorial-env的虛擬環(huán)境文件夾名稱加入 .gitignore文件以便讓Git忽略。

虛擬環(huán)境的常用目錄位置是 .venv。這個(gè)名稱通常會令該目錄在你的終端中保持隱藏,從而避免需要對所在目錄進(jìn)行額外解釋的一般名稱。它還能防止與某些工具所支持的 .env 環(huán)境變量定義文件發(fā)生沖突。

如果使用virtualenv,則使用下面的命令:$ virtualenv snow-venv

2、激活虛擬環(huán)境

通過執(zhí)行對應(yīng)的激活腳本來激活虛擬環(huán)境,不同操作系統(tǒng)的激活命令(激活腳本及路徑)有一點(diǎn)不同。

Windows(CMD.exe):$ tutorial-env\Scripts\activate.bat

Linux和macOS(bash/zsh):$ source tutorial-env/bin/activate

activate.bat這個(gè)腳本是為bash shell編寫的。如果你使用csh或fish shell,你應(yīng)該改用activate.csh 或activate.fish腳本。

激活虛擬環(huán)境以后,命令行提示符前會顯示當(dāng)前虛擬環(huán)境的名字,并修改環(huán)境以使python命令所運(yùn)行的將是已安裝的特定Python版本。

退出虛擬環(huán)境:deactivate

三、venv模塊和virtualenv工具

virtualenv:Python虛擬環(huán)境管理工具。

venv:Python標(biāo)準(zhǔn)庫內(nèi)置的虛擬環(huán)境管理工具,Python 3.3加入,Python 3.5開始作為管理虛擬環(huán)境的推薦工具,用法類似virtualenv,唯一不同的是創(chuàng)建虛擬環(huán)境的方式。

Python 2.x時(shí),創(chuàng)建虛擬環(huán)境需要安裝第三方的virtualenv,但Python 3.3之后,標(biāo)準(zhǔn)庫里內(nèi)置了venv模塊,可以用來創(chuàng)建虛擬環(huán)境。

如果你使用Python 3.3及以上版本,推薦使用標(biāo)準(zhǔn)庫內(nèi)置的venv 模塊替代virtualenv。

如果你使用Python 2,就只能選擇virtualenv,你需要額外安裝它。pip install virtualenv

補(bǔ)充:【python虛擬環(huán)境】virtualenv和venv不一樣嗎

在開發(fā)python應(yīng)用程序的時(shí)候,系統(tǒng)安裝的python3只有一個(gè)版本:3.4。所有的第三方的包都回被pip安裝到python3的site-packages目錄下。

如果我們要要同時(shí)開發(fā)多個(gè)應(yīng)用程序,那這些應(yīng)用都共用一個(gè)python,就是安裝在系統(tǒng)的python3。如果應(yīng)用A需要jinja 2.7,而應(yīng)用B需要jinja 2.6怎么辦?

這種情況下,每個(gè)應(yīng)用需要各自擁有一套“獨(dú)立”的python運(yùn)行環(huán)境。有兩個(gè)常用工具用于創(chuàng)建python“獨(dú)立”環(huán)境:

venv is available by default in Python 3.3 and later, and installs pip and setuptools into created virtual environments in Python 3.4 and later.

virtualenv needs to be installed separately, but supports Python 2.7+ and Python 3.3+, and pip, setuptools and wheel are always installed into created virtual environments by default (regardless of Python version).

virtualenv

virtualenv就是用來為一個(gè)應(yīng)用創(chuàng)建一套“隔離”的python運(yùn)行環(huán)境。

首先,我們用pip安裝virtualenv

pip3 install virtualenv

然后,假定我們要開發(fā)一個(gè)新的項(xiàng)目,需要一套獨(dú)立的python運(yùn)行環(huán)境,可以這么做:

在項(xiàng)目目錄下,創(chuàng)建一個(gè)獨(dú)立的python運(yùn)行環(huán)境,命名為 venv

virtualenv --no-site-packages venv

命令 virtualenv就可以創(chuàng)建一個(gè)獨(dú)立的python運(yùn)行環(huán)境,我們還加上了參數(shù) --no-site-packages,這樣,已經(jīng)安裝到系統(tǒng)python環(huán)境中的所有第三方包都不會復(fù)制過來,這樣,我們就得到了一個(gè)不帶任何第三方包的“干凈”的pyhton運(yùn)行環(huán)境。

新建的python環(huán)境被放到項(xiàng)目錄下的venv目錄,有了 venv 這個(gè)python環(huán)境,就可以用source進(jìn)入該環(huán)境:

source ./venv/bin/activate

或者是

source ./venv/Scripts/activate

注意查看activate命令被放在了哪個(gè)目錄下。

執(zhí)行上面的命令后,可以看懂命令指示符變了,有個(gè) (venv) 前綴,表示當(dāng)前環(huán)境是一個(gè)名為 venv 的python環(huán)境,下面可以正常安裝各種第三方包,并運(yùn)行python命令。

在 venv 環(huán)境下,用 pip 安裝的包都在安裝到了 venv 這個(gè)環(huán)境下,系統(tǒng)python環(huán)境不受任何影響,也就是說, venv環(huán)境是專門針對當(dāng)前項(xiàng)目創(chuàng)建的。

退出 venv 環(huán)境,使用 deactivate 命令:

deactivate

這樣就回到了正常的環(huán)境。

viratualenv是如何創(chuàng)建“獨(dú)立”的python運(yùn)行環(huán)境呢?其實(shí)就是把系統(tǒng)python復(fù)制一份到virtualenv的環(huán)境,用命令 source 進(jìn)入一個(gè)virutalenv環(huán)境時(shí),virtualenv會修改相關(guān)環(huán)節(jié)變量,讓命令python和pip均指向當(dāng)前的virtualenv環(huán)境。

venv

venv不用安裝,不過需要python3.3以上。創(chuàng)建一個(gè)獨(dú)立的python運(yùn)行環(huán)境,命名為venv

python3 -m venv ./venv

上面的命令會在當(dāng)前目錄下創(chuàng)建一個(gè)名為venv的python環(huán)境中。進(jìn)入和退出該環(huán)境的方式和virtualenv一致。

參考文檔:官方文檔

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

相關(guān)文章

  • flask上傳作品之dbm操作的實(shí)現(xiàn)

    flask上傳作品之dbm操作的實(shí)現(xiàn)

    本文主要介紹了flask上傳作品之dbm操作的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Python學(xué)習(xí)入門之區(qū)塊鏈詳解

    Python學(xué)習(xí)入門之區(qū)塊鏈詳解

    區(qū)塊鏈的基礎(chǔ)概念很簡單:一個(gè)分布式數(shù)據(jù)庫,存儲一個(gè)不斷加長的 list,list 中包含著許多有序的記錄。下面這篇文章主要給大家介紹了關(guān)于Python學(xué)習(xí)入門之區(qū)塊鏈的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面來一起看看吧。
    2017-07-07
  • Python打開文件,將list、numpy數(shù)組內(nèi)容寫入txt文件中的方法

    Python打開文件,將list、numpy數(shù)組內(nèi)容寫入txt文件中的方法

    今天小編就為大家分享一篇Python打開文件,將list、numpy數(shù)組內(nèi)容寫入txt文件中的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • django 捕獲異常和日志系統(tǒng)過程詳解

    django 捕獲異常和日志系統(tǒng)過程詳解

    這篇文章主要介紹了django-捕獲異常和日志系統(tǒng)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python實(shí)現(xiàn)微信翻譯機(jī)器人的方法

    Python實(shí)現(xiàn)微信翻譯機(jī)器人的方法

    這篇文章主要介紹了Python實(shí)現(xiàn)微信翻譯機(jī)器人的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 解決Pycharm 運(yùn)行后沒有輸出的問題

    解決Pycharm 運(yùn)行后沒有輸出的問題

    這篇文章主要介紹了解決Pycharm 運(yùn)行后沒有輸出的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Python從文件中讀取數(shù)據(jù)的方法步驟

    Python從文件中讀取數(shù)據(jù)的方法步驟

    這篇文章主要介紹了Python從文件中讀取數(shù)據(jù)的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 使用python中的openpyxl操作excel詳解

    使用python中的openpyxl操作excel詳解

    這篇文章主要介紹了使用python中的openpyxl操作excel詳解,openpyxl 模塊是一個(gè)讀寫Excel文檔的Python庫,本文就來講解如何使用openpyxl操作excel,需要的朋友可以參考下
    2023-07-07
  • python遠(yuǎn)控代碼的教程詳解

    python遠(yuǎn)控代碼的教程詳解

    大家遠(yuǎn)控還在用軟件嗎,其實(shí)幾行代碼輕松搞定,這篇文章小編就來和大家介紹一下如何使用Python實(shí)現(xiàn)遠(yuǎn)程控制代碼,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • python讀取圖片任意范圍區(qū)域

    python讀取圖片任意范圍區(qū)域

    這篇文章主要為大家詳細(xì)介紹了python讀取圖片任意范圍區(qū)域,以一維數(shù)組形式返回,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01

最新評論

苍梧县| 蕉岭县| 嘉义县| 泸水县| 突泉县| 辽阳市| 高邮市| 灵宝市| 文山县| 延吉市| 江口县| 罗城| 航空| 永清县| 斗六市| 长阳| 容城县| 高碑店市| 潍坊市| 定安县| 湘乡市| 阜阳市| 财经| 兰州市| 沧源| 玉门市| 永善县| 犍为县| 双柏县| 中宁县| 桃源县| 襄垣县| 饶平县| 金坛市| 雷山县| 始兴县| 开原市| 和平县| 张家川| 宿州市| 九龙县|