包中的 Python 'requirements.txt' 文件

问题描述

情况:

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

  1. matplotlib
  2. 正则表达式
  3. 统计数据
  4. 操作系统
  5. 单元测试
  6. 覆盖范围

我的问题是,当我执行 pip freeze 时,结果只返回

的版本值
  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. 如果是,我应该写哪个版本?

解决方法

不应该os中包含unittestrequirements.txt

在您阅读时,我确认 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
,

您不需要 osunittest,因为它包含在 Python 3+ 中。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...