gensim 将docstring示例变为可执行的

v09wglhw  于 4个月前  发布在  其他
关注(0)|答案(4)|浏览(47)

需要将文档字符串中的所有Python示例变为可执行的,即可以使用python -m doctest运行。目前,这项工作已经完成了一部分,但还没有全部完成。
任务:

  • 调查对于py2py3的不同输出值需要进行哪些操作(有时不匹配,因为匹配是精确的(符号到符号),浮点值也有同样的问题)
  • 修复现有的docstring示例
  • doctest添加到Travis
rt4zxlrg

rt4zxlrg1#

关于docstring的有用之处:我们可以"模拟"我们的doctest,使示例更具"实用性",不受时间、示例等限制。

在这种情况下,我们可以:

  • 快速运行doctest
  • 在doctest中使用真实的大型模型 -> 对用户更实用(而不是一些虚拟模型)
  • (如果确实需要的话)禁用模拟并在不使用它的情况下运行(现在每次都这样,只有在发布之前或类似的情况下才会这样做,就像现在为gensim.models.wrappers进行的测试一样)。
eivnm1vs

eivnm1vs2#

@menshikh-iv,我想开始着手处理这个问题。我能知道已经取得了哪些进展吗?

t1rydlwq

t1rydlwq3#

@arshjat 评论:

  1. 应该将 doctests 添加到 CI(至少在 Linux 上)
  2. 当使用大型模型时,应添加 "Mock" 慢速且占用资源较大的测试
  3. 有可能以某种方式禁用 mock(例如,对于大型模型运行 doctests "原样")
  4. 以某种方式对 gensim.models.wrappers 进行 doctest,但默认情况下禁用它(因为这需要其他库的已编译二进制文件)
  5. 修复文档中的当前示例(即重写它)
    此外,请查看 pytest 插件(用于 doctests 和 mocks)。
    另外,请查看其他项目中 doctest 如何运行(如 numpy/sklearn 等),以获得灵感。
    此问题需要大量工作。如果您对此感到满意,请随时提供帮助并祝您好运!
z8dt9xmd

z8dt9xmd4#

谢谢!我想我应该从例子开始,并查看其他仓库中的doctest实现。

相关问题