python 兩種方式,自動(dòng)生成 requirements.txt 文件,再也不需要一個(gè)個(gè)安裝依賴了

前言
有一定 python 基礎(chǔ)的人可能都知道,requirements.txt 文件是用來(lái)描述當(dāng)前 python 項(xiàng)目所需要的依賴。
在工作當(dāng)中,我們經(jīng)常需要在不同的電腦運(yùn)行 python 項(xiàng)目,比如在公司的電腦盒家里的電腦運(yùn)行同一個(gè)項(xiàng)目。如果每一次都要重新使用?pip install xxx
?去逐一安裝每個(gè) requirements,那將會(huì)是很繁瑣的事情。
那有沒(méi)有好的方法呢,其實(shí)是有的,就是使用?pip install -r requirements.txt
自動(dòng)生成 requirements 的兩種方法
那我們要如何自動(dòng)生成 requirements.txt 文件,其實(shí)有兩種方法
第一種方法
第一種 適用于 單虛擬環(huán)境的情況: :
pip?freeze?>?requirements.txt
為什么只適用于單虛擬環(huán)境?因?yàn)檫@種方式,會(huì)將環(huán)境中的依賴包全都加入,如果使用的全局環(huán)境,則下載的所有包都會(huì)在里面,不管是不時(shí)當(dāng)前項(xiàng)目依賴的
當(dāng)然這種情況并不是我們想要的,當(dāng)我們使用的是全局環(huán)境時(shí),可以使用第二種方法。
第二種方法
第二種 (推薦) 使用 pipreqs ,github 地址為: github.com/bndr/pipreqs
安裝
?pip?install?pipreqs
在當(dāng)前目錄生成
pipreqs . --encoding=utf8--force
注意 --encoding=utf8 為使用 utf8 編碼,不然可能會(huì)報(bào)
UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xae in position 406: illegal multibyte sequence 的錯(cuò)誤。
--force 強(qiáng)制執(zhí)行,當(dāng) 生成目錄下的 requirements.txt 存在時(shí)覆蓋。
小結(jié)
python 兩種方式,自動(dòng)生成 requirements.txt 文件,你學(xué)會(huì)了嘛,趕緊搞起來(lái)