欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Pipenv輕量級虛擬環(huán)境管理工具使用指南

 更新時間:2023年02月15日 13:59:46   作者:fanstuck  
這篇文章主要為大家介紹了Pipenv輕量級虛擬環(huán)境管理工具使用指南,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

前言

終于能夠擠出一點時間來總結(jié)最近學(xué)到的一些技術(shù)知識點了,博主這兩周被居家隔離-集中隔離-居家隔離來回折騰,現(xiàn)在終于是得到解放能夠空出的時間來寫寫博客了,但是項目又催的緊,寫博文的時間還是有限,這周我會盡量更新博文帶來更多干貨知識,一直以來謝謝大家的支持!學(xué)習(xí)是一個不斷堅持的動態(tài)過程,學(xué)以致用才是關(guān)鍵。

一、為什么使用pipenv?

首先我們要明白pipenv存在的開發(fā)驅(qū)動是什么,對于python虛擬環(huán)境來說已經(jīng)有virtualenv了,在anaconda直接切換一下環(huán)境就好了,那么為什么要使用pipenv這個虛擬管理工具呢?

再者就是為什么要使用虛擬環(huán)境,我們直接將所有的庫都集中安裝到一個環(huán)境中,想怎么使用就怎么使用,直接調(diào)取任何庫就可以完成功能,為啥要將其他的庫給分開呢?

那么首先來講講將所有庫都集成到一個環(huán)境下帶來的問題,可能前期會覺得特別方便,但是等到開發(fā)的項目越來越多或者是有打包的需求的話,就很麻煩了,總結(jié)一下共有三點弊端:

  • 庫之間版本調(diào)試,切換問題。對于每個庫來說都有兼容與不兼容的python版本,一些特殊的庫,比如Jython庫就不支持3.x以上的庫,僅支持2.7的。如果你的項目需要使用到例如此類的庫,但是總不可能將原來的python版本給完全刪除重新裝過該版本的庫。那么環(huán)境管理工具就派上用場了。
  • 使用pyinstaller打包成為一個exe程序,一般來說如果使用原始的環(huán)境去打包的話,那么由于pyinstaller的特性會使得打包的文件過于巨大。那是因為pyinstaller打包會將整個環(huán)境的依賴庫統(tǒng)一打包起來,而一些該程序沒有用到的庫會造成冗余問題。
  • 包之間的依賴版本沖突,有時候集成了過多包會造成這個情況,相互依賴之間的包版本會沖突,但是如果都集中到一個環(huán)境里面就很難排查。

故有以上場景就誕生了不同python環(huán)境集成各種不同版本不同包的需求,那么讓我們再來了解一下這些虛擬環(huán)境管理工具的對比。

virtualenv

  • 一個操作系統(tǒng)下,可以有多個“操作系統(tǒng)級別的”Python解釋器;
  • 每個Python解釋器有一個指向自己的pip工具,兩者一一對應(yīng);
  • 通過virtualenv可以虛擬任何一個“操作系統(tǒng)級別的”Python解釋器成為一個“虛擬級別”的解釋器;
  • 每個“虛擬級別”的解釋器又擁有自己獨立的pip工具和site-packages。

virtualenvwrapper

virtualenvwrapper是對virtualenv接口的封裝。virtualenvwrapper會將虛擬環(huán)境的目錄統(tǒng)一保存,不需手動管理,使用起來更加便利;

pipenv

pipenv是Kenneth Reitz在2017年1月發(fā)布的Python依賴管理工具,現(xiàn)在由PyPA維護。你可以把它看做是pip和virtualenv的組合體,而它基于的Pipfile則用來替代舊的依賴記錄方式(requirements.txt),pipenv 在易用性上要簡單很多,同時增加了 lock 文件,能更好的鎖定版本。如果沒有特殊要求可以 pipenv 直接使用 lock 的版本,開發(fā)又可以小步迭代,實現(xiàn)依賴的穩(wěn)步升級。

pipenv優(yōu)缺點

優(yōu)點:

  • 自動關(guān)聯(lián)項目相關(guān)的 virtualenv,能夠快速的加載 virtualenv 。
  • 提供的pipenv替代pip并自帶一個依賴清單Pipfile,和依賴鎖定Pipfile.lock。
  • Pipfile除了依賴清單還支持固定pypi源地址,固定python版本。
  • Pipfile還支持dev依賴清單.pipenv install的包會強制使用Pipfile中的源.
  • 使用pipenv graph命令可以看到依賴樹。
  • 可以直接切換python2和python3

缺點:

  • Windows下命令行終端開頭沒有沒有venv的名稱,讓你不知道是否在虛擬環(huán)境中,容易誤操作
  • 永久設(shè)置了Pipfile文件中的源以后,Pipfile文件中看到的還是官方源,但是實際上是已經(jīng)走了你設(shè)置的源了。

二、使用步驟

1.安裝

推薦使用python3版本:

pip3 install pipenv

安裝完成后可通過

pipenv --version

查看版本和檢測是否安裝成功:

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

使用命令pipenv install,可在當(dāng)前目錄下創(chuàng)建 Pipfile 、 Pipfile.lock 文件,在虛擬環(huán)境目錄下新增一個虛擬環(huán)境

Pipfile文件: 用于保存項目的python版本、依賴包等相關(guān)信息 。

[[source]]
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
verify_ssl = true
name = "pypi"
[packages]
requests = "*"
pyyaml = "*"
Django = "*"
[dev-packages]
pytest = "*"
[requires]
python_version = "3.7"
[scripts]
django = "python manage.py runserver 0.0.0.0:8080"
  • source 用來設(shè)置倉庫地址,即指定鏡像源下載虛擬環(huán)境所需要的包
  • packages 用來指定項目依賴的包,可以用于生產(chǎn)環(huán)境和生成requirements文件
  • dev-packages 用來指定開發(fā)環(huán)境需要的包,這類包只用于開發(fā)過程,不用于生產(chǎn)環(huán)境。

requires 指定目標(biāo)Python版本

scripts 添加自定義的腳本命令,并通過 pipenv run + 名稱 的方式在虛擬環(huán)境中執(zhí)行對應(yīng)的命令 。

Pipfile 文件可以復(fù)制到其他項目內(nèi),通過執(zhí)行pipenv install命令, 根據(jù)這個 Pipfile 文件生成虛擬環(huán)境和依賴包的安裝

Pipfile.lock文件: 通過hash算法將包的名稱和版本,及依賴關(guān)系生成哈希值,保證包的完整性,除修改鏡像源,非必要情況不對該文件進行修改。

指定目錄存放虛擬環(huán)境

存放虛擬環(huán)境的目錄默認指定是C:\Users\bobo.virtualenvs目錄下。

pipenv install --python +版本號

可指定python版本創(chuàng)建虛擬環(huán)境。

也可以通過:

pipenv install --two           創(chuàng)建指定python2.x版本的虛擬環(huán)境
pipenv install --three         創(chuàng)建指定python3.x版本的虛擬環(huán)境

下載默認的環(huán)境。

安裝第三方庫

pipenv兼容pip命令,同樣使用pipenv install + 包名的方式安裝第三方庫。在此目錄下打開pycharm時會默認加載此目錄對應(yīng)的虛擬環(huán)境。

在pycharm的 Terminal終端輸入命令:

pipenv install requests

就可以了

修改鏡像源

如果官方源站安裝第三方庫的速度很慢,安裝失敗,可以修改鏡像源

pipenv兼容pip命令,所以也可以在命令加上參數(shù)

pipenv install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

若想要永久該虛擬環(huán)境的鏡像源,則需要打開項目目錄下的Pipfile 、 Pipfile.lock 文件,將source欄 url = "pypi.org/simple" 鏈接內(nèi)容修改為需要的鏡像源,例如修改為清華的鏡像源url = "pypi.tuna.tsinghua.edu.cn/simple"

 安裝到dev環(huán)境

安裝調(diào)試工具、性能測試工具、python語法工具,這些內(nèi)容僅在本地環(huán)境有用,生產(chǎn)環(huán)境不需要這些。

比如單元測試相關(guān)的包unittest、pytest,只在開發(fā)階段有用,為了和生產(chǎn)環(huán)境的包區(qū)分開來,可以通過命令 pipenv install --dev + 包名將其歸類到【dev-packages】下。

例如安裝pytest到開發(fā)環(huán)境

pipenv install --dev pytest

常用命令

pipenv兼容大部分的pip命令,所以 pip命令能實現(xiàn)的內(nèi)容,也能通過pipenv命令實現(xiàn)

卸載命令

在項目所在虛擬環(huán)境中卸載requests包,并在Pipfile文件移除包名

pipenv uninstall requests 	

在項目所在虛擬環(huán)境中卸載所有包,并在Pipfile文件移除包名

pipenv uninstall --all 	

在項目所在虛擬環(huán)境中卸載所有dev環(huán)境的包,并在Pipfile文件移除[dev-packages]中的所有包名

pipenv uninstall --all --dev	

更新命令

在項目所在虛擬環(huán)境中更新requests包,并在Pipfile.lock文件中更新相應(yīng)版本信息

pipenv update requests 

在項目所在虛擬環(huán)境中更新所有包,并在Pipfile.lock文件中更新相應(yīng)版本信息

pipenv update

在項目所在虛擬環(huán)境中查看已過期的包的信息

pipenv update --outdated

根據(jù)項目所在虛擬環(huán)境的Pipfile文件生成/更新Pipfile.lock文件中的依賴包信息

pipenv lock

 查看命令

查看項目位置

pipenv --where	

 查看虛擬環(huán)境位置

pipenv --venv	

 查看虛擬環(huán)境python解釋器位置

pipenv --py	

查看依賴包信息

pipenv graph	

激活與退出虛擬環(huán)境

使用pipenv install 命令創(chuàng)建虛擬環(huán)境時,創(chuàng)建成功會默認激活虛擬環(huán)境

若想退出虛擬環(huán)境,可輸入 exit 退出(僅適用于黑屏終端,pycharm默認打開項目就加載了虛擬環(huán)境,只能修改指定的虛擬環(huán)境) 目錄下存在 Pipfile 、 Pipfile.lock 文件,已創(chuàng)建過虛擬環(huán)境,可通過命令 pipenv shell進行激活。

刪除虛擬環(huán)境

直接在該目錄下面打開終端輸入:

pipenv --rm

該命令無法在pycharm的Terminal終端執(zhí)行。刪除虛擬環(huán)境后,如果目錄下仍存在 Pipfile 、 Pipfile.lock 文件,可以通過pipenv install重新進行安裝虛擬環(huán)境,且重新安裝的虛擬環(huán)境,名稱與刪除前一致

生成requirements.txt 文件

pipenv可以像virtualenv一樣使用命令生成requirements.txt文件

pipenv lock -r --dev >requirement.txt

命令中的--dev并不是說把 Pipfile文件中 [dev-packages]下的包導(dǎo)出,而是把所有依賴包導(dǎo)出。 pipenv還可以通過requirements.txt文件 安裝依賴包

pipenv install -r requirement.txt

通過pyinstaller導(dǎo)出

首先需要到安裝pipenv虛擬環(huán)境下的目錄安裝pyinstaller

pipenv install pyinstaller

將依賴包都安裝完成后直接:

#開始打包
pyinstaller -Fw -i xx.ico ./xxx.py

就好了

以上就是Pipenv輕量級虛擬環(huán)境管理工具使用指南的詳細內(nèi)容,更多關(guān)于Pipenv虛擬環(huán)境管理工具的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論