我的新書AI 職場超神助手:ChatGPT 與生成式 AI 一鍵搞定工作難題的教材投影片已製作完成
歡迎各位有需要的教師和博碩文化索取教材

生成只包含專案使用的Library列表

傳統方式如下

pip freeze > requirements.txt

傳統匯出專案模組清單的方式很容易會產生一大堆檔案列表,因為會是從python的env中的site package裡面去讀取所使用的專案列表

而且很容易出現一大堆本地端的資訊如下,尤其當我們有使用.whl檔案來安裝環境時,特別會出現下面這種狀況,會導致難以利用這列表去建立新的環境

jsonschema @ file:///home/conda/feedstock_root/build_artifacts/jsonschema-meta_1669810440410/work

這邊推薦一個套件名為pipreqs

pipreqs 介紹

pipreqs 是一個非常方便的 Python 工具,主要用於 自動生成 Python 專案的 requirements.txt 檔案。這個檔案列出了專案所依賴的所有第三方套件,以及它們的版本號。

pipreqs 會掃描指定的目錄,分析 Python 檔案中的 import 語句,並根據這些資訊來確定專案所依賴的套件。它會盡可能地精確地找出這些套件的版本號。

  • pipreqs 可以自動分析專案中的 import 語句,並生成準確的依賴列表。
  • 透過所產生的 requirements.txt 檔案,可以輕鬆地將專案部署到不同的環境中,確保所有所需的套件都已安裝。
  • requirements.txt 檔案納入版本控制系統中,可以追蹤專案依賴的變化。

基本用法

pip install pipreqs
pipreqs . --force

常用選項

  • --save-path 指定生成 requirements.txt 檔案的保存路徑。
  • --force 強制覆蓋已存在的 requirements.txt 檔案。
  • --diff 比較生成的 requirements.txt 檔案與已存在的檔案,並顯示差異。
  • --debug 啟用除錯模式,輸出更多詳細資訊。

建議

  • 在開始一個新專案時,就使用 pipreqs 生成 requirements.txt 檔案。
  • 定期更新 requirements.txt 檔案,以確保專案的依賴關係是最新的。
  • 在部署專案之前,使用 pip install -r requirements.txt 來安裝所有所需的套件。

官方網站:https://github.com/bndr/pipreqs


17年資歷女工程師,專精於動畫、影像辨識以及即時串流程式開發。經常組織活動,邀請優秀的女性分享她們的技術專長,並在眾多場合分享自己的技術知識,也活躍於非營利組織,辦理活動來支持特殊兒及其家庭。期待用技術改變世界。

如果你認同我或想支持我的努力,歡迎請我喝一杯咖啡!讓我更有動力分享知識!