Python包中的'requirements.txt'文件

5

情况:

我创建了一个Python包,其中使用以下库:

  1. matplotlib
  2. regex
  3. statistics
  4. os
  5. unittest
  6. coverage

我的问题是,当我执行pip freeze时,结果只返回以下版本值:

  1. matplotlib==3.2.1
  2. regex==2020.11.13
  3. statistics==1.0.3.5
  4. coverage==5.3.1

我看了一些网站,他们说这是因为例如os和unittest已经预装在Python3.X中。

问题:

  1. 我是否应将'os'和'unittest'包括在'requirements.txt'中?
  2. 如果是,我应该写哪个版本?

3
你正在阅读的来源是正确的。Os、unittest等已经安装,因此您不必在reqs.txt中包含它们。 - Leemosh
3
os和unittest模块属于Python标准库,无需通过pip安装,因此不需要在要求文件中列出。 - jonrsharpe
3个回答

5

不应在requirements.txt中包含osunittest

正如您所读的,我确认Python 3.X中包含了os和unittest。

osunittest的版本取决于您的Python 3.X版本。


2

这个消息是正确的,你不应该在requirements.txt中包含os等内容。然而,pip freeze存在一个不同的问题——当你没有使用不同的环境并且所有库都在一个环境中时,你的pip freeze会返回你所有已安装的库,这样并没有什么帮助。

我建议使用pipreqs库来获取你想要在脚本中放入requirements.txt的所有必要库。

pip install pipreqs

pipreqs /path/to/your_project

注意:pipreqs 不支持 Python 3.6+。 - costaparas

-3

在命令行中输入:python3 -m pip install -r requirements.txt


1
问题不在于如何安装文件。这不是一个答案。 - Gert Arnold
目前你的回答不够清晰,请编辑并添加更多细节,以帮助其他人理解它如何回答问题。你可以在帮助中心找到有关如何编写好答案的更多信息。 - Community

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