【问题标题】:Python 'requirements.txt' file in package包中的 Python 'requirements.txt' 文件
【发布时间】:2021-04-15 15:35:04
【问题描述】:

情况:

我创建了一个 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、unittest 等已经安装,因此您不必将它们包含在 reqs.txt 中
  • os 和 unittest 在standard library 中。您没有通过 pip 安装它们,因此它们不需要在需求文件中。

标签: python python-packaging requirements.txt


【解决方案1】:

不应该requirements.txt 中包含osunittest

如您所见,我确认 os 和 unittest 包含在 Python 3.X 中。

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

【讨论】:

    【解决方案2】:

    来源是正确的,你不应该在你的requirements.txt 中包含操作系统等。 pip freeze tho 有一个有点不同的问题 - 当您不使用不同的环境并将所有库都放在一个环境中时,您的 pip freeze 会给您提供您内部的所有库,这根本没有帮助。

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

    pip install pipreqs
    
    pipreqs /path/to/your_project
    

    【讨论】:

    • 注意:pipreqs 不支持 Python 3.6+
    猜你喜欢
    • 2016-11-26
    • 2019-05-26
    • 2023-01-12
    • 1970-01-01
    • 1970-01-01
    • 2017-09-14
    • 2021-01-23
    • 1970-01-01
    • 2018-12-22
    相关资源
    最近更新 更多