欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

python 自动生成当前项目的requirements文件

程序员文章站 2022-06-11 20:15:52
...

python 自动生成当前项目的requirements文件

有几种办法:

1、使用pip freeze

<pre style="margin: 0px 0px 15px; padding: 0px; font-family: "Courier New" !important; font-size: 12px !important; line-height: 1.72222; color: inherit; white-space: pre; border-radius: 6px; overflow-wrap: break-word;"> pip freeze > requirements.txt</pre>

这种方式是把整个环境中的包都列出来了,如果是虚拟环境可以使用。
通常情况下我们只需要导出当前项目的requirements.txt,这时候就推荐pipreqs了

2、使用 pipreqs

这个工具是个好帮手,可以通过对项目目录的扫描,自动发现使用了那些类库,自动生成依赖清单,只生成项目相关的依赖到requirements.txt

安装

<pre style="margin: 0px 0px 15px; padding: 0px; font-family: "Courier New" !important; font-size: 12px !important; line-height: 1.72222; color: inherit; white-space: pre; border-radius: 6px; overflow-wrap: break-word;">pip install pipreqs</pre>

使用

使用也很简单 pipreqs 路径名
此处直接进到项目根目录,所以是./
报错

File "c:\users\devtao\appdata\local\programs\python\python36-32\lib\site-packages\pipreqs\pipreqs.py", line 341, in init
    extra_ignore_dirs=extra_ignore_dirs)

  File "c:\users\devtao\appdata\local\programs\python\python36-32\lib\site-packages\pipreqs\pipreqs.py", line 75, in get_all_imports
    contents = f.read()

UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 186: illegal multibyte sequence

若出现类似上边的报错UnicodeDecodeError: 'gbk' codec can't decode byte 0xa6 in position 186: illegal multibyte sequence
直接修改pipreqs.py 的407行,将encoding改为utf-8,保存,在运行 pipreqs ./
pipreqs.py 路径

C:\Users\linxiao\AppData\Local\Programs\Python\Python37\Lib\site-packages\pipreqs
python 自动生成当前项目的requirements文件

python 自动生成当前项目的requirements文件