「Python實用秘技03」導出項目的極簡環境依賴

本文完整示例程式碼及文件已上傳至我的Github倉庫//github.com/CNFeffery/PythonPracticalSkills

  這是我的系列文章「Python實用秘技」的第3期,本系列立足於筆者日常工作中使用Python積累的心得體會,每一期為大家帶來一個3分鐘即可學會的簡單小技巧。

  作為系列第3期,我們即將學習的是:導出項目的極簡環境依賴

  很多朋友都知道,利用pip也好,利用conda也好,我們可以使用pip freezeconda export等語句來對當前的Python環境依賴進行導出備份,以方便在其他機器上還原環境。

  但此類環境依賴導出方法的局限在於,它會將當前環境下所有已安裝的庫資訊進行導出,使得導出的結果繁雜臃腫。

  而如果我們只想針對某個Python項目工程,將其內部真正導入的庫資訊進行導出,就可以用到pipreqs這個工具,使用pip install pipreqs進行安裝之後,就可以以命令行的形式使用它,基礎使用語法為:

pipreqs 目標工程根路徑名

  譬如pipreqs ./就將當前路徑視作目標工程的根目錄進行導出,以一個示例工程為例(其中encoding參數用於設置導出文件的編碼,--force用於設置允許覆蓋已存在的同名文件),並與pip freeze的結果進行對比,可以看到,pipreqs導出的環境依賴非常之簡潔,在很多情況下更適合用來還原Python項目的最小依賴資訊:

  有了這個文件,在其他環境或機器上使用pip install requirements.txt命令就可以快速還原項目依賴,pipreqs還有一些實用的參數,你可以前往//github.com/bndr/pipreqs#usage查看參數說明,快在你的項目中試試它吧~


  本期分享結束,咱們下回見~👋