【问题标题】:Python package with multiple "packages"?具有多个“包”的 Python 包?
【发布时间】:2022-11-03 00:10:19
【问题描述】:

假设我有一个看起来像的项目

uilities.py
api_1.py
api_2.py
api_3.py
foo.py
bar.py
baz.py

实用程序和 api 调用本身不执行任何操作,但它们构成了 foo.py、bar.py 和 baz.py 内容的 90%。

  • foo.py、bar.py 和 baz.py 的内容。非常简单,包括命令行界面,它们每个可能有 200 行。

  • 实用程序.py 和 api_?.py 本身几乎什么都不做。

例如当我打电话时

foo -a --other-arg 

而不是这样做,这是我尝试过的

long_main_package_name foo -a --other-arg 

我应该如何构建我的项目,以便在安装包后直接调用 foo.py、bar.py 和 baz.py?

【问题讨论】:

  • 你如何构建项目独立于它应该产生的包。我同意最近的回答:foobarbaz 不是任何软件包的一部分,而是独立的脚本利用包含utilitiesapi_1api_2api_3 四个模块的包。
  • (并且为了澄清由于 Python 重载术语“包”而可能产生的误解,分发包包含您的脚本并且模块不同于Python 包你可以定义它来包含你的四个模块。)

标签: python python-packaging


【解决方案1】:

您可以在设置中将它们声明为控制台脚本,以构建用于分发的包。

更多详情:https://setuptools.pypa.io/en/latest/userguide/entry_point.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 2019-04-20
    • 2020-04-30
    • 1970-01-01
    • 2019-08-27
    • 2021-12-12
    相关资源
    最近更新 更多