conda list --export > requirements_conda.txt
pip freeze > requirements_pipfreeze.txt
pipreqs ./ --encoding=utf8
第一種方式
第一種方式適用于通過conda來管理/安裝項目依賴包,生成的文件內容如下:
第二種方式
第二種方式適用于通過pip來管理/安裝項目依賴包,生成的文件內容如下:
這種方式的缺點為:
pip freeze only saves the packages that are installed with pip install in your environment.
pip freeze saves all packages in the environment including those that you don’t use in your current project (if you don’t have virtualenv).
and sometimes you just need to create requirements.txt for a new project without installing modules.
所以看到通過這種方式生成的requirements文件中,通過conda安裝的包并不能給出包版本,而是@ file:////...
這種形式。
第三種方式
如果沒有使用虛擬環境,或虛擬環境中有很多項目沒有使用的包,則上面兩種方式都將環境中的所有包版本記錄在requirements文件中,不便于項目移植,這時候需要第三種方式:
安裝依賴包
pip install -r requirements.txt
pip install -r requirements.txt --target=D:\project\venv\Lib\site-packages
pip install --no-index --find-links=./ -r requirements.txt
pip install --no-index --find-links=/local/wheels -r requirements.txt
conda install --use-local xxx.tar.bz2
上面第一條命令默認安裝到全局的環境中
如果上面的命令不能安裝到指定Python版本的虛擬環境中,則
可用pycharm,進入命令行,運行:
py -m pip install --no-index --find-links=./ -r requirements.txt
參考:
python生成requirements.txt的兩種方法python腳本之家 (jb51.net)
我的項目在conda環境中使用的軟件包-python黑洞網 (pythonheidong.com)
pipreqs · PyPI
User Guide - pip documentation v22.1.2 (pypa.io)