使用 pip freeze
$ pip freeze > requirements.txt
这种方式是把整个环境中的包都列出来了,如果是虚拟环境可以使用。
通常情况下我们只需要导出当前项目的 requirements.txt,这时候就推荐 pipreqs 了
使用 pipreqs
这个工具是个好帮手,可以通过对项目目录的扫描,自动发现使用了那些类库,自动生成依赖清单,只生成项目相关的依赖到 requirements.txt
安装
pip install pipreqs
使用
使用也很简单 pipreqs 路径名
此处直接进到项目根目录,所以是./
pipreqs ./
如果出现类似 gbk 的编码错误,可以指定编码,
pipreqs ./ --encoding=utf8
如果已经存在 requirements.txt,需要指定 force
pipreqs ./ --encoding=utf8 --force
如果在没有网络的环境中,需要指定 --use-local(实测发现加了这个参数超快!)
pipreqs ./ --encoding=utf8 --use-local
详细指南
Usage:
pipreqs [options] [<path>]
Arguments:
<path> The path to the directory containing the application
files for which a requirements file should be
generated (defaults to the current working
directory).
Options:
--use-local Use ONLY local package info instead of querying PyPI.
--pypi-server <url> Use custom PyPi server.
--proxy <url> Use Proxy, parameter will be passed to requests
library. You can also just set the environments
parameter in your terminal:
$ export HTTP_PROXY="http://10.10.1.10:3128"
$ export HTTPS_PROXY="https://10.10.1.10:1080"
--debug Print debug information.
--ignore <dirs>... Ignore extra directories, each separated by a comma.
--no-follow-links Do not follow symbolic links in the project
--encoding <charset> Use encoding parameter for file open
--savepath <file> Save the list of requirements in the given file
--print Output the list of requirements in the standard
output.
--force Overwrite existing requirements.txt
--diff <file> Compare modules in requirements.txt to project
imports.
--clean <file> Clean up requirements.txt by removing modules
that are not imported in project.
--no-pin Omit version of output packages.
"""
此外
在 Windows 环境下会出现各种异常,推荐 LInux。
如果出现了
File "c:\users\ezreal\anaconda3\lib\ast.py", line 47, in parse
return compile(source, filename, mode, flags,
File "<unknown>", line 1
#! /usr/bin/env python
^
SyntaxError: invalid character in identifier
类似的错误,可参考以下帖子