创建一个requirements.txt文件

4

在上传到GitHub时,一个人会想要包含一个requirements.txt文件。我已经创建了一个虚拟环境,所以pip3 freeze只列出了我在项目开发期间安装的软件包。然而,我也安装了pylint(由VS Code建议),但我不想将其放在requirements文件中。当我使用pip3 freeze时,pylint没有被列在单个条目中。那么是否有办法从要求中删除pylint和相关内容呢?最坏的情况下,有人可以列出所有的pylint内容,这样我就可以手动从要求文件中删除它们吗?

1个回答

5
假设您正在使用 pip (而不是像 Poetry 这样的其他管理器),您可以使用 pip-tools 来处理此场景。首先,您需要手动将要求写入文件中:$ cat requirements.in
# assuming your project uses only following dependencies
django
gunicorn

接着你可以生成整个依赖关系图:

$ pip-compile requirements.in

#
# This file is autogenerated by pip-compile
# To update, run:
#
#    pip-compile requirements.in
#
asgiref==3.2.10           # via django
django==3.1               # via -r requirements.in
gunicorn==20.0.4          # via -r requirements.in
pytz==2020.1              # via django
sqlparse==0.3.1           # via django

这是生产环境下的requirements.txt文件。对于开发依赖,您可以采用同样的方式,但将其保存到单独的文件中,以便在需要时安装,但与运行时依赖分开:

$ cat requirements-dev.in

# development requirements
pylint
mypy
pytest

嗨,我认为作为一个超级流行的工具,Anaconda 也应该得到一些关注。有没有在 conda 下生成 requirements.txt 的方法? - Franva

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接