Python项目依赖包生成requirements.txt

时间:2023-02-23 11:10:26

✅作者简介:热爱科研的算法开发者,Python、Matlab项目可交流、沟通、学习。

????个人主页:算法工程师的学习日志

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