本文完整示例代碼及檔案已上傳至我的<code>Github</code>倉庫https://github.com/CNFeffery/PythonPracticalSkills
這是我的系列文章「Python實用秘技」的第3期,本系列立足于筆者日常工作中使用<code>Python</code>積累的心得體會,每一期為大家帶來一個3分鐘即可學會的簡單小技巧。
作為系列第3期,我們即将學習的是:<code>導出項目的極簡環境依賴</code>。
很多朋友都知道,利用<code>pip</code>也好,利用<code>conda</code>也好,我們可以使用<code>pip freeze</code>、<code>conda export</code>等語句來對目前的<code>Python</code>環境依賴進行導出備份,以友善在其他機器上還原環境。
但此類環境依賴導出方法的局限在于,它會将目前環境下<code>所有</code>已安裝的庫資訊進行導出,使得導出的結果繁雜臃腫。
而如果我們隻想針對某個<code>Python</code>項目工程,将其内部真正<code>導入</code>的庫資訊進行導出,就可以用到<code>pipreqs</code>這個工具,使用<code>pip install pipreqs</code>進行安裝之後,就可以以指令行的形式使用它,基礎使用文法為:
譬如<code>pipreqs ./</code>就将目前路徑視作目标工程的根目錄進行導出,以一個示例工程為例(其中<code>encoding</code>參數用于設定導出檔案的編碼,<code>--force</code>用于設定允許覆寫已存在的同名檔案),并與<code>pip freeze</code>的結果進行對比,可以看到,<code>pipreqs</code>導出的環境依賴非常之簡潔,在很多情況下更适合用來還原<code>Python</code>項目的最小依賴資訊:
有了這個檔案,在其他環境或機器上使用<code>pip install requirements.txt</code>指令就可以快速還原項目依賴,<code>pipreqs</code>還有一些實用的參數,你可以前往<code>https://github.com/bndr/pipreqs#usage</code>檢視參數說明,快在你的項目中試試它吧~
本期分享結束,咱們下回見~👋