2013-03-06 74 views
0

我想編寫一個用pip安裝的所有python包的Dependency-Graph的可視化文件。我的問題是代碼記錄不完整,並且我無法找到圖表存儲在源代碼中的位置。利用pip的依賴關係圖

我希望有人有足夠的關於pip-sourcecode的知識來幫助我。

也是即時通訊新的python,我不知道我是否應該只是在現有的源代碼中進行調整,或爲它編寫模塊,雖然我更傾向於後者。

//編輯:我可以通過pip凍結獲得所有已安裝的模塊,但是這只是一個沒有依賴關係的列表。所以我必須找到一種方法來從該列表中提取依賴關係。

回答

0

繼承人什麼我我的搜索過程中發現:

皮普不使用相關性 - 圖在所有的內部。 (作爲1.3.x版的)

所以,一個解決辦法是做到以下幾點:

您可以安裝setuptools,如果您還沒有媒體鏈接。它帶來一個名爲pkg_resources的模塊。 該模塊具有所有工具,可以查看所需的dists目錄中已安裝的所有模塊(不僅包含與pip一起安裝的模塊)。然後,您可以使用包含在pkg_resources中的方法讀出元數據(包括需求/依賴項)。

1

是的,如果你不習慣它的代碼是不可讀的。我不記得那樣的東西,我不會使用它。你可能會發現自己更適合與distlib,其只是一個模塊:https://distlib.readthedocs.org/en/latest/depgraph.html

+0

確實有幫助。唯一的問題是,distlib工作不正常。而Distutils 2也與其文檔不同步。 – WeGi 2013-03-06 18:07:05

+0

爲了更好地表達它,distlib和distutils2都被放棄了。 – WeGi 2013-03-06 18:47:31

+0

不,distlib並沒有完全放棄。在存儲庫頁面上,您可以看到確實有日常活動。當你說它不能正常工作時,你的意思是什麼?你能舉個例子嗎? – rubik 2013-03-06 18:49:04