2016-08-09 153 views
3

我一直在研究Python項目一段時間,它使用了相當多的第三方庫。我想將我的項目部署到另一臺服務器上,但我並不知道我使用哪個項目並在每一行源代碼中進行挖掘都會導致太多工作。列出項目中的第三方庫

有沒有辦法在我的項目中生成第三方模塊列表,所以我可以在PIP的安裝程序中使用它?感謝您的幫助

pip install -r dependencies.txt # <-- I need to generate this file from a project 
+0

看看[this]的回答(http://stackoverflow.com/q/2875232/3165737)SO問題。 –

回答

1

我最終編寫了一個python模塊,它做到了這一點,因爲我找不到它。源代碼可在GitHub上找到。你可以這樣安裝:

$ pip install pip-module-scanner 

使用它非常簡單,完整的使用示例檢查GitHub回購。

$ pip-module-scanner 
foo==0.0.1 
bar==2.0.0 
2

只要您使用的是虛擬的環境,讓您的依賴來自全球的裝機量PIP封裝分開,你應該能夠使用PIP的freeze命令,就像這樣:

pip freeze > dependencies.txt 

如果您尚未使用虛擬環境,那麼您可能需要仔細閱讀源代碼以查找模塊。虛擬環境是保持python項目與全局環境隔離的一種手段,這意味着您只能導入在該環境中安裝的模塊,並且它應該只包含與其相應python項目相關的模塊。我建議你閱讀Virtual Environments,它們對於大型項目非常有用。

+0

調用'pip freeze'似乎也列出了所有核心模塊,我只需要第三方列表 – Paradoxis

+0

您可以清理列表或讓pip忽略已知的列表。一般來說,儘可能使用packaets和版本儘可能具體以確保它運行良好。 – frlan