创建 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
上传到 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