?本文完整示例代碼及文件已上傳至我的Github倉庫https://github.com/CNFeffery/PythonPracticalSkills ? 這是我的系列文章「Python實用秘技」的第3期,本系列立足于筆者日常工作中使用Python積累的心得體會,每一期為大家?guī)硪粋€3分鐘即可學(xué)會的簡單小技巧。 作為系列第3期,我們即將學(xué)習(xí)的是:導(dǎo)出項目的極簡環(huán)境依賴。  很多朋友都知道,利用pip也好,利用conda也好,我們可以使用pip freeze、conda export等語句來對當(dāng)前的Python環(huán)境依賴進(jìn)行導(dǎo)出備份,以方便在其他機(jī)器上還原環(huán)境。 但此類環(huán)境依賴導(dǎo)出方法的局限在于,它會將當(dāng)前環(huán)境下所有已安裝的庫信息進(jìn)行導(dǎo)出,使得導(dǎo)出的結(jié)果繁雜臃腫。 而如果我們只想針對某個Python項目工程,將其內(nèi)部真正導(dǎo)入的庫信息進(jìn)行導(dǎo)出,就可以用到pipreqs這個工具,使用pip install pipreqs進(jìn)行安裝之后,就可以以命令行的形式使用它,基礎(chǔ)使用語法為: pipreqs 目標(biāo)工程根路徑名
譬如pipreqs ./就將當(dāng)前路徑視作目標(biāo)工程的根目錄進(jìn)行導(dǎo)出,以一個示例工程為例(其中encoding參數(shù)用于設(shè)置導(dǎo)出文件的編碼,--force用于設(shè)置允許覆蓋已存在的同名文件),并與pip freeze的結(jié)果進(jìn)行對比,可以看到,pipreqs導(dǎo)出的環(huán)境依賴非常之簡潔,在很多情況下更適合用來還原Python項目的最小依賴信息:  有了這個文件,在其他環(huán)境或機(jī)器上使用pip install requirements.txt命令就可以快速還原項目依賴,pipreqs還有一些實用的參數(shù),你可以前往https://github.com/bndr/pipreqs#usage查看參數(shù)說明,快在你的項目中試試它吧~
本期分享結(jié)束,咱們下回見~?? 加入知識星球【我們談?wù)摂?shù)據(jù)科學(xué)】 400+小伙伴一起學(xué)習(xí)!
|