日韩精品欧美激情国产一区_中文无码精品一区二区三区在线_岛国毛片AV在线无码不卡_亞洲歐美日韓精品在線_使劲操好爽好粗视频在线播放_日韩一区欧美二区_八戒八戒网影院在线观看神马_亚洲怡红院在线色网_av无码不卡亚洲电影_国产麻豆媒体MDX

Python虛擬環(huán)境(pipenv、venv、conda)

時(shí)間:2024-02-02 15:59:11 類型:python
字號(hào):    

一、什么是虛擬環(huán)境

1. 什么是Python環(huán)境

要搞清楚什么是虛擬環(huán)境,首先要清楚Python的環(huán)境指的是什么。當(dāng)我們?cè)趫?zhí)行python test.py時(shí),思考如下問題:


python哪里來?這個(gè)主要?dú)w功于配置的系統(tǒng)環(huán)境變量PATH,當(dāng)我們?cè)诿钚兄羞\(yùn)行程序時(shí),系統(tǒng)會(huì)根據(jù)PATH配置的路徑列表依次查尋是否有

可執(zhí)行文件python(在windows中,省略了后綴.exe),當(dāng)查尋到該文件時(shí),執(zhí)行該文件; 如果在所有路徑列表中都查找不到,

就會(huì)報(bào)報(bào)錯(cuò):'python' 不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。

test.py代碼中import的模塊在哪里找?

import的模塊包含兩類,

一類稱為標(biāo)準(zhǔn)庫(kù),隨著python的安裝而安裝;

另一類稱為第三方庫(kù),使用pip工具或者自己手動(dòng)安裝的包。

模塊的搜索路徑可通過sys.path查看,主要由可執(zhí)行文件python所在的位置所決定。

Python環(huán)境主要包括以下內(nèi)容:


解釋器 python.exe

            Lib目錄

            標(biāo)準(zhǔn)庫(kù)

            site-pakages目錄,默認(rèn)安裝第三方庫(kù)所在的目錄

            Scripts目錄,包含一些執(zhí)行文件

包安裝管理工具pip.exe

打包工具pyinstaller.exe(需要自己安裝)

其他

主要包括python解釋器運(yùn)行時(shí)需要的相關(guān)依賴文件,文檔說明等

Python環(huán)境主要由運(yùn)行python解釋器的位置所決定


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

理解了什么是python環(huán)境,思考下為什么有虛擬環(huán)境的說法。思考以下問題:


有兩個(gè)項(xiàng)目A和B,如果A和B都要用到某一模塊,但版本不相同怎么辦?

在使用pip安裝包時(shí),會(huì)發(fā)現(xiàn)在安裝的時(shí)候會(huì)安裝其它的依賴包,但當(dāng)我們用pip移除一個(gè)包時(shí),卻只移除了指定的包

為了解決上面的問題,python使用了虛擬環(huán)境這個(gè)概念,你可以認(rèn)為是python環(huán)境的多個(gè)副本,只是在不同的副本中安裝了不同的包。

既然叫虛擬環(huán)境,總得有點(diǎn)不一樣:

虛擬環(huán)境中一般不包含標(biāo)準(zhǔn)庫(kù);

不包含python解釋器運(yùn)行時(shí)所需的依賴文件;可執(zhí)行文件全部放于Scripts目錄等。


3. 常用工具

知道了什么是虛擬環(huán)境,就應(yīng)該清楚如何去管理虛擬環(huán)境,這就離不開虛擬環(huán)境管理工具,下面列出了一些常用的工具,并在稍后的內(nèi)容中

對(duì)部分工具的使用作簡(jiǎn)單的介紹。


Virtualenv

virtualenv 是非常流行的 python 虛擬環(huán)境配置工具。它不僅同時(shí)支持 python2 和 python3,而且可以為每個(gè)虛擬環(huán)境指定 python 解釋器,

并選擇不繼承基礎(chǔ)版本的包。


venv

考慮到虛擬環(huán)境的重要性,Python 從3.3 版本開始,自帶了一個(gè)虛擬環(huán)境模塊 venv,關(guān)于該模塊的詳細(xì)介紹,可參考 PEP-405 。

它的很多操作都和 virtualenv 類似。如果你使用的是python3.3之前版本或者是python2,則不能使用該功能,

依賴需要利用virtualenv進(jìn)行虛擬環(huán)境管理。


pipenv

pipenv 是Kenneth Reitz(requests的作者)大神的作品。它結(jié)合了 Pipfile,pip,和virtualenv,能夠有效管理Python多個(gè)環(huán)境,各種包。

并且windows視為一等公民。


Pipfile是社區(qū)擬定的依賴管理文件,用于替代過于簡(jiǎn)陋的 requirements.txt 文件。

Pipfile 文件是 TOML 格式而不是 requirements.txt 這樣的純文本。


virtualenv能夠很好的完成虛擬環(huán)境的搭建和python版本的管理,但是跨平臺(tái)的使用不太一致,且有時(shí)候處理包之間的依賴總存在問題


pip能夠很好的完成包的管理,但是仍然推薦pipenv,相當(dāng)于virtualenv和pip的合體,且更加強(qiáng)大。


conda

支持Python、R、Java、JavaScript、C等多種開發(fā)語言的包、依賴和環(huán)境管理工具,能運(yùn)行在Windows、MacOS、Linux多個(gè)平臺(tái),

可以在本地輕松創(chuàng)建、保存、切換環(huán)境。當(dāng)安裝anaconda時(shí),會(huì)自動(dòng)安裝conda工具。


Python Launcher for Windows

Python 從3.3版本開始,在 Windows 系統(tǒng)中自帶了一個(gè) py.exe啟動(dòng)工具。如果你是使用 Python.org 官網(wǎng)下載的安裝包安裝的 Python 3.3

(或更新版本)環(huán)境,那么可以直接在命令提示符中使用這個(gè)工具(在windows中,py.exe會(huì)安裝在C:\Windows目錄)。

py 可以打開默認(rèn)的 python 提示符; py -2.7 和 py -3 打開對(duì)應(yīng)的 Python 版本,py -0將列出系統(tǒng)中安裝了哪些版本的python

————————————————


版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接和本聲明。

                        

原文鏈接:https://blog.csdn.net/weixin_42118352/article/details/129281671


<