2013-10-26 34 views
3

當我在virtualenv中使用pip安裝軟件包時,如何跟蹤軟件包?如何從virtualenv中刪除未使用的軟件包?

現在看起來很亂,如果我安裝軟件包A,它會自動安裝它的依賴關係; B,C和D.然後,我決定使用包N來代替安裝它的依賴項。

現在,當我刪除軟件包A時,其依賴關係不會自動刪除。

我如何保持我的virtualenv清潔?是否有一個工具來檢查未使用的軟件包並將其刪除?

+0

「現在,當我刪除軟件包A時,其依賴關係不會自動刪除」感謝上帝他們*不*刪除!任何數量的軟件包都可以使用依賴關係,因此,如果沒有進行全面檢查,就可能會刪除它們。 – Bakuriu

回答

6

製作virtualenvs相對便宜。只要您遇到這種情況,您就可以創建一個新的virtualenv,然後再次運行您的pip安裝。

不是很優雅,但它完成了工作。當然,您需要維護pip安裝的一些需求文件,如果您有一些本地索引或pip緩存,它將會更快。

3

要獲得一個乾淨的環境,請創建一個新環境。有些點子掛鉤可以幫助你在這條道路:

  • pip freeze獲得安裝的軟件包及其版本的列表,至極以後可以用
  • -r <file>用來安裝包的列表,說明在需求文件
  • --build <dir>到地方建立在一個特定的目錄
  • --no-clean不清理編譯目錄
  • 後,你可以使用這些構建與--no-download
  • --no-deps不安裝依賴
2

另一種方式是名稱與「setup.py」或「requirements.txt」項目中的每個依賴性。運行setup.py或pip使用virtualenv多次安裝cat requirements.txt,以便成功運行您的應用程序。之後,手動將新依賴項添加到其中一個文件以保持您的依賴性同步。

相關問題