【问题标题】:Where should I place a Python package's demo script?我应该在哪里放置 Python 包的演示脚本?
【发布时间】:2011-12-02 01:11:23
【问题描述】:

我正在编写一个新的 python 包以供其他人使用。为了演示它应该如何使用,我正在编写一个演示脚本来执行新包的主要部分。

这样做的惯例是什么,以便其他人可以轻松找到脚本?它应该是一个单独的模块(用什么名称)?它应该位于包的根目录中吗?出包了吗?在__init__.py?

【问题讨论】:

    标签: python package main demo convention


    【解决方案1】:

    它应该是一个单独的模块(用什么名称)?

    demo/some_useful_name.py

    演示目录包含演示脚本。同样,一个测试目录包含你所有的单元测试。

    它应该位于包的根目录中吗?

    没有。它不是包装的一部分。这是一个演示。

    包装好了吗?

    是的。

    init.py 中?

    从不。


    一个包有两个生命。 (1) 作为卸载源,(2) 在 lib/site-packages 作为安装代码。

    “源”应包括 README、setup.py、演示目录、测试目录和包本身。

    顶级“源”setup.py 应该只安装包。演示和测试未安装。作为下载的一部分,它们会被抛在后面。

    【讨论】:

      【解决方案2】:

      我从未见过任何真正的约定,但我个人将它放在__init__.py 内的主要哨兵中,以便可以通过python -m somepackage 调用它。

      【讨论】:

      • +1:我可能只在存在某个开关时才执行它,例如python -m somemodule --demo。这在添加其他执行模式时会保持一致,例如运行所有测试。
      猜你喜欢
      • 2021-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-24
      • 1970-01-01
      • 2015-03-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多