首页 > 解决方案 > 创建 requirements.txt 文件

问题描述

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

标签: pythongithubrequirements.txt

解决方案


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

推荐阅读