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