繁体   English   中英

对于 pip,我应该从 pip 冻结创建 requirements.txt,还是手动编辑 requirements.txt 文件?

[英]With pip, should I create requirements.txt from pip freeze, or by manually editing the requirements.txt file?

对于上下文,我对 Python 了解不多,更不用说惯用的 Python。 我正在做一个棕地项目。 我所说的关于 docker 的一切可能与我要问的问题无关,但我不能说:我们的代码在 Docker 容器中运行。 我们不使用虚拟环境,而是硬编码 Python 版本并在 Dockerfile 中运行:

ADD requirements.txt /
RUN pip install -r /requirements.txt \
&& rm -rf /requirements.txt 

目前,我们有两种向requirements.txt添加需求的方法:

  1. 通过运行此命令(以 twilio 为例):

     docker-compose run --rm django bash -c "pip install twilio && pip freeze > requirements.txt"
  2. 通过访问 pypi.org,找到依赖项的名称和当前版本,然后手动将该行添加到 hosts requirements.txt中。

两者似乎都有效,但我的直觉告诉我,其中一个/两个都有潜在的缺点。 每种选择的优缺点是什么,哪一种被认为是惯用的? 如果这些都不被认为是惯用的,那么添加到requirements.txt的正确方法是什么?

我一直在谷歌搜索,但很多结果都是有问题的,因为它们真的很旧。 例如, pip 20.3.2020添加了解析器功能,我不知道最佳实践有什么影响。

requirements.txt文件指示了为使您的应用程序正确运行而必须安装的所有依赖项。

运行pip freeze会将所有实际安装的库(开发、其他项目、已弃用等)转储到新创建的requirements.txt文件中。

手动添加依赖项是列出依赖项的一种更可控的方式。

我建议您在构建项目时手动将依赖项添加到文件中。 如果您发现有些不需要,请将它们删除。 使用pip freeze ,也许其他二级库将保留。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM