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