項目開發(fā)的時候,總是要搭建和部署環(huán)境,這時,就需要一個python第三方包的list,一般叫做requirements.txt。如果項目使用virtualenv環(huán)境,直接使用pip freeze即可,但是如果項目的依賴沒有維護,就會很麻煩,這時我們就需要一個叫pipreqs的工具,可以幫助我們自動生成requirements.txt文件。
使用pip freeze
pip freeze > requirements.txt
這種方式配合virtualenv 才好使,否則把整個環(huán)境中的包都列出來了。
pipreqs
這個工具的好處是可以通過對項目目錄的掃描,自動發(fā)現(xiàn)使用了那些類庫,自動生成依賴清單。
缺點是可能會有些偏差,需要檢查并自己調整下。
安裝:
pip install pipreqs
用法:
在項目的根目錄下使用 pipreqs ./
如果是Windows系統(tǒng),會報編碼錯誤 (UnicodeDecodeError: 'gbk' codec can't decode byte 0xa8 in position 24: illegal multibyte sequence)
使用時,指定編碼格式
pipreqs ./ --encoding=utf8
生成requirements.txt 文件后,可以根據(jù)這個文件下載所有的依賴
用法:pip install -r requriements.txt 即可
附:
詳細用法:
pipreqs [options] <path>
選項:
--use-local僅使用本地包信息而不是查詢PyPI
--pypi-server <url>使用自定義PyPi服務器
--proxy <url>使用Proxy,參數(shù)將傳遞給請求庫。你也可以設置
終端中的環(huán)境參數(shù):
$ export HTTP_PROXY =“http://10.10.1.10:3128”
$ export HTTPS_PROXY =“https://10.10.1.10:1080”
--debug打印調試信息
--ignore <dirs> ...忽略額外的目錄
--encoding <charset>使用編碼參數(shù)打開文件
--savepath <file>保存給定文件中的需求列表
--print輸出標準輸出中的需求列表
--force覆蓋現(xiàn)有的requirements.txt
--diff <file>將requirements.txt中的模塊與項目導入進行比較。
--clean <file>通過刪除未在項目中導入的模塊來清理requirements.txt。