创建 requirements.txt 文件

Creating a requirements.txt file

上传到 GitHub 时,可能需要包含一个 requirements.txt 文件。我创建了一个虚拟环境,因此 pip3 freeze 只列出了我在项目开发期间安装的包。但是,我还安装了 pylint(由 VS Code 建议),我不想在需求文件中安装它。当我使用 pip3 freeze 时,Pylint 没有列在单个条目中。那么有什么方法可以从需求中删除 pylint 和相关的东西吗?最坏的情况谁能列出所有 pylint 的东西,这样我就可以从需求文件中手动删除它们?

假设您正在使用 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