2016-03-04 67 views
2

我有一個python GUI應用程序。現在我需要知道應用程序鏈接到的所有庫。這樣我可以檢查所有庫的許可證兼容性。獲取python項目使用的所有模塊/包

我試過使用strace,但strace似乎報告了所有的軟件包,即使它們沒有被應用程序使用。

而且,我嘗試了python ModuleFinder,但它只是返回python2.7內部的模塊而不是鏈接的系統級包。

那麼有什麼辦法可以讓我的應用程序鏈接到所有庫?

+1

pip凍結所有安裝的軟件包 – wolendranh

+1

pip安裝蛋黃,它給你一個你的環境中使用的所有雞蛋的列表:* yolk -l * – datashaman

回答

0

與安裝蛋黃:

pip install yolk 

調用以下獲得在您的環境雞蛋的清單:

yolk -l 

或者,你可以使用snakefood來製圖你的依賴,在this question回答。

你可以嘗試進入其中解壓雞蛋儲存的站點包文件夾,然後運行以下命令:

ls -l */LICENSE* 

這會給你的許可文件的列表每個項目(如果他們存放在雞蛋的根部,它們通常是)。

8

你可以給一個嘗試到圖書館發現 https://github.com/bndr/pipreqs 引導 https://www.fullstackpython.com/application-dependencies.html


圖書館pipreqs是PIP安裝並自動生成文件requirements.txt以下。它包含所有具有正確安裝的virtualenv或python版本的導入庫。

只需鍵入:

pip install pipreqs 
pipreqs /home/project/location 

它會打印:

INFO: Successfully saved requirements file in /home/project/location/requirements.txt 

另外它與兼容PIP安裝-r命令:如果你需要創建項目的VENV或者使用兼容庫更新您當前的Python版本,您只需輸入:

pip install -r requirements.txt 

我有同樣的問題,這個圖書館解決了我。不知道它是否適用於多層依賴關係,例如,如果您擁有嵌套級別的依賴庫。

+0

似乎這是安裝*最新版本的軟件包而不是當前版本您正在使用。 – enneppi

相關問題