Python 'requirements.txt' 包中的文件

Python 'requirements.txt' file in package

情况:

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

  1. matplotlib
  2. 正则表达式
  3. 统计数据
  4. os
  5. 单元测试
  6. 覆盖率

我的问题是,当我执行 pip freeze 时,结果只有 returns

的版本值
  1. matplotlib==3.2.1
  2. 正则表达式==2020.11.13
  3. 统计==1.0.3.5
  4. 覆盖率==5.3.1

我读过一些网站,他们说这是因为,例如, os 并且 unittest 已经安装了 Python3.X。

问题:

  1. 我应该在 'requirements.txt' 中包含 'os'、'unittest' 吗?
  2. 如果是这样,我应该写哪个版本?

不应该requirements.txt中包含osunittest

在您阅读时,我确认 os 和 unittest 包含在 Python 3.X.

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

消息来源是正确的,您不应该在 requirements.txt 中包含 os 等。这里有一个与 pip freeze 有点不同的问题 - 当您不使用不同的环境并且将所有库都放在一个环境中时,您的 pip freeze 将为您提供内部所有的库,但事实并非如此很有帮助。

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

pip install pipreqs

pipreqs /path/to/your_project