如何一鍵理清大型Python項(xiàng)目依賴樹_第1頁
如何一鍵理清大型Python項(xiàng)目依賴樹_第2頁
如何一鍵理清大型Python項(xiàng)目依賴樹_第3頁
如何一鍵理清大型Python項(xiàng)目依賴樹_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第如何一鍵理清大型Python項(xiàng)目依賴樹目錄1.安裝2.用法和示例3.可視化依賴樹?前言:

你可能時(shí)常會(huì)遇到由于包的版本不匹配導(dǎo)致代碼報(bào)錯(cuò)的問題,由于pipfreeze將所有依賴項(xiàng)顯示為二維列表,這時(shí)候如果想找到這個(gè)錯(cuò)誤版本的包是比較麻煩的事情。這時(shí)候,有個(gè)工具你必須得知道,它就是pipdeptree.

pipdeptree是一個(gè)命令行實(shí)用程序,它能用于以依賴關(guān)系樹可視化的形式顯示已安裝的python包。

它適用于全局安裝在計(jì)算機(jī)上的各個(gè)模塊,也適用于Virtualenv等虛擬環(huán)境中的模塊。

1.安裝

你只需要在你的環(huán)境中輸入以下命令就能安裝pipdeptree:

pip

install

pipdeptree

已通過測試的Python版本:2.7,3.5,3.6,3.7,3.8,3.9.

2.用法和示例

pipfreeze和pipdeptree最大的區(qū)別如下:

#pipfreeze的顯示

$pipfreeze

Flask==0.10.1

itsdangerous==0.24

Jinja2==2.11.2

-egit+git@:naiquevin/lookupy.git@cdbe30c160e1c29802df75e145ea4ad903c05386#egg=Lookupy

MarkupSafe==0.22

pipdeptree@

file:///private/tmp/pipdeptree-2.0.0b1-py3-none-any.whl

Werkzeug==0.11.2

可見,pipfreeze最多只能顯示一個(gè)依賴的列表,而在pipdeptree,每個(gè)模塊的依賴關(guān)系能夠非常直觀地展示出來:

$pipdeptree

Warning!!!Possiblyconflictingdependenciesfound:

*Jinja2==2.11.2

-MarkupSafe[required:=0.23,installed:

0.22]

------------------------------------------------------------------------

Flask==0.10.1

-itsdangerous[required:=0.21,installed:

0.24]

-Jinja2[required:=2.4,installed:

2.11.2]

-MarkupSafe[required:=0.23,installed:

0.22]

-Werkzeug[required:=0.7,installed:

0.11.2]

Lookupy==0.1

pipdeptree==2.0.0b1

-pip[required:=6.0.0,installed:

20.1.1]

setuptools==47.1.1

wheel==0.34.2

請注意這個(gè)Warning,提示了你哪些模塊會(huì)造成其依賴的模塊版本發(fā)生沖突,這是非常有用的提示,很多時(shí)候問題就出現(xiàn)在這里。

不僅如此,如果存在循環(huán)性依賴,比如:

CircularDependencyA=CircularDependencyB=CircularDependencyA

它會(huì)進(jìn)行如下提示:

$pipdeptree--excludepip,pipdeptree,setuptools,wheel

Warning!!!Cyclicdependenciesfound:

-CircularDependencyA=CircularDependencyB=CircularDependencyA

-CircularDependencyB=CircularDependencyA=CircularDependencyB

------------------------------------------------------------------------

wsgiref==0.1.2

argparse==1.2.1

如果你想生成requirements.txt,可以這么做:

$pipdeptree-f|teelocked-requirements.txt

Flask==0.10.1

itsdangerous==0.24

Jinja2==2.11.2

MarkupSafe==0.23

Werkzeug==0.11.2

gnureadline==8.0.0

-egit+git@:naiquevin/lookupy.git@cdbe30c160e1c29802df75e145ea4ad903c05386#egg=Lookupy

pipdeptree@file:///private/tmp/pipdeptree-2.0.0b1-py3-none-any.whl

pip==20.1.1

setuptools==47.1.1

wheel==0.34.2

在確認(rèn)沒有沖突的依賴項(xiàng)后,甚至可以將其鎖定,其中所有包都將固定到其當(dāng)前安裝的版本:

$

pipdeptree-f|sed

's///g'

|sort-ulocked-requirements.txt

3.可視化依賴樹

為了能夠可視化展示依賴樹,我們需要安裝GraphViz。安裝完成后輸入以下命令:

pipdeptree--graph-outputpngdependencies.png

#pipdeptree--graph-outputdotdependencies.dot

#pipdeptree--graph-outputpdfdependencies.p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論