Python';requirements.txt';文件包中的文件

Python';requirements.txt';文件包中的文件,python,python-packaging,requirements.txt,Python,Python Packaging,Requirements.txt,情况: 我已经创建了一个python包,其中使用了以下库: matplotlib 正则表达式 统计数字 操作系统 单元测试 覆盖范围 我的问题是,当我执行pip freeze时,结果只返回 版本值 matplotlib==3.2.1 正则表达式==2020.11.13 统计数据==1.0.3.5 覆盖率==5.3.1 我读过一些网站,他们说这是因为,例如, 操作系统和unittest已经随Python3.X一起安装 问题: 我应该在“requirements.txt”中包含“os”、“unitt

情况:

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

  • matplotlib
  • 正则表达式
  • 统计数字
  • 操作系统
  • 单元测试
  • 覆盖范围
  • 我的问题是,当我执行
    pip freeze
    时,结果只返回 版本值

  • matplotlib==3.2.1
  • 正则表达式==2020.11.13
  • 统计数据==1.0.3.5
  • 覆盖率==5.3.1
  • 我读过一些网站,他们说这是因为,例如, 操作系统和unittest已经随Python3.X一起安装

    问题:

  • 我应该在“requirements.txt”中包含“os”、“unittest”吗
  • 如果是,我应该写哪个版本

  • 不应在
    requirements.txt
    中包含
    os
    unittest

    正如您所读到的,我确认操作系统和单元测试包含在Python3.X中


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

    源代码是正确的,您不应该在
    requirements.txt
    中包含os etc。
    pip-freeze
    tho有一点不同的问题-当您不使用不同的环境并且所有的库都在一个环境中时,您的
    pip-freeze
    将提供您内部的所有库,这一点都没有帮助

    我建议使用
    pipreqs
    library来获取脚本所需的
    requirements.txt

    pip install pipreqs
    
    pipreqs /path/to/your_project
    

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

    您所阅读的源代码是正确的。操作系统、unittest等已经安装,因此您不必将它们包含在reqs中。txtos和unittest都包含在中。您没有通过pip安装它们,因此它们不需要在需求文件中。注意:
    pipreqs
    不支持Python 3.6+