问题描述
情况:
我创建了一个 python 包,其中使用了以下库:
- matplotlib
- 正则表达式
- 统计数据
- 操作系统
- 单元测试
- 覆盖范围
我的问题是,当我执行 pip freeze
时,结果只返回
- matplotlib==3.2.1
- 正则表达式==2020.11.13
- 统计信息==1.0.3.5
- 覆盖率==5.3.1
我读过一些网站,他们说这是因为,例如, os 和 unittest 已经安装在 python3.X 中。
问题:
- 我应该在“requirements.txt”中包含“os”、“unittest”吗?
- 如果是,我应该写哪个版本?
解决方法
您不应该在os
中包含unittest
和requirements.txt
。
在您阅读时,我确认 os 和 unittest 包含在 Python 3.X 中。
os
和 unittest
版本取决于您的 Python 3.X 版本。
来源是正确的,您不应在 requirements.txt
中包含 os 等。 pip freeze
有一个不同的问题 - 当您不使用不同的环境并且在一个环境中拥有所有库时,您的 pip freeze
会为您提供内部的所有库,而这不是很有帮助。
我建议使用 pipreqs
库来获取您想要放入脚本的 requirements.txt
中的所有必要库。
pip install pipreqs
pipreqs /path/to/your_project
,
您不需要 os 和 unittest,因为它包含在 Python 3+ 中。