Python项目依赖包生成requirements.txt

时间:2022-10-09 11:19:02

Python代码在本机调试结束后,需要移植到服务器上或者发布到git,其中的一个问题就是代码涉及到的第三库,很有可能出现第三方库配置的问题,这个时候就需要通过requirements.txt来明确告诉使用者如何配置运行环境,运行环境推荐Anaconda来配置,类似docker镜像,相互虚拟环境不干扰

在Pycharm下面生成requirements.txt,有两种方式:

第一种 适用于 单虚拟环境的情况:

pip freeze > requirements.txt

在这种方式,会将环境中的所有依赖包全都加入,如果使用的全局环境,则下载的所有包都会在里面,不管是不时当前项目依赖的,如下图

Python项目依赖包生成requirements.txt

当然这种情况并不是我们想要的,当我们使用的是全局环境时,可以使用第二种方法。

第二种 (推荐) 使用 第三方库:​​pipreqs​​ ,github地址为:https://github.com/bndr/pipreqs

# 安装pip install pipreqs# 在当前目录生成pipreqs . --encoding=utf8 --force

注意 

​--encoding=utf8​​ 为使用utf8编码,不然可能会报UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 406: illegal multibyte sequence 的错误。

​--force​​ 强制执行,当 生成目录下的requirements.txt存在时覆盖。

当当当,可以看见我依赖的只有这些啦

Python项目依赖包生成requirements.txt

使用requirements.txt安装依赖的方式:

pip install -r requirements.txt