一、什么是 requirements.txt 文件?
requirements.txt 文件是一个文本文件,用于列出你的Python项目所依赖的软件包及其版本。该文件通常位于项目的根目录中,并且由开发者手动维护。在该文件中,每行列出一个依赖项,格式为 package_name==version,其中 package_name 是软件包的名称,version 是软件包的版本号。例如:
requests==2.25.1
numpy==1.19.3
pandas==1.2.0
二、生成requirements.txt的两种方式
1、使用pip freeze命令
直接使用pip freeze命令生成requirements.txt文件:
pip freeze > requirements.txt
备注:需要等一会才会生成requirements.txt文件
但是这种方式只适合你的项目是使用单虚拟环境的情况,因为该方式会将环境中安装的所有依赖库都记录在requirements.txt文件中,即使当前项目没有用到这个库:
如果项目是使用单虚拟环境的情况,由于单虚拟环境中只安装了本项目需要的库,因此用上面这个命令是可以的
2、使用pipreqs命令
pipreqs也是一个库,先安装它:
pip install pipreqs -i https://pypi.tuna.tsinghua.edu.cn/simple
然后使用下面的命令生成requirements.txt文件:
pipreqs ./ --encoding=utf8 --force
命令解释:
- ./表示在当前目录下生成requirements.txt文件
- encoding=utf8 为使用utf8编码,不然可能会报UnicodeDecodeError: ‘gbk’ codec can’t decode byte 0xae in position 406: illegal multibyte sequence 的错误。
- force 强制执行,表示如果生成目录下的requirements.txt存在时,则覆盖生成新的。
可以看见requirements.txt文件中只有本次项目用到的依赖包了:
三、使用requirements.txt文件
别人的电脑上在Pycharm中可以依赖requirements.txt文件,一键逐个安装项目所有的依赖包。使用以下命令:
pip install -r requirements.txt
或者
pip install -r requirements.txt -i https://pypi.mirrors.ustc.edu.cn/simple