我应该如何将 Python 模块拆分为 PyPi 包?

发布于 2024-12-06 09:42:56 字数 534 浏览 2 评论 0原文

我已经编写了一个 Python 模块,我希望将其提供给其他人。现在,它是一个嵌套在子文件夹中的大模块:

  • wraith
    • 实用程序
    • 分机
    • 颜色

我认为最好将这些子文件夹分成单独的包。 tipfy 项目执行此操作。但是,extcolor 模块依赖于 util

组织和发布这些模块的最佳方式是什么?我是否将它们分开并命名为 wraith.utilwraith.ext 和 < em>wraith.color 像tipfy一样?当人们安装 extcolor 时,我是否包含 util

I have written a Python module that I'd like to make available for others. Right now, it is one large module nested into sub-folders:

  • wraith
    • util
    • ext
    • color

I think it's best to split these sub-folders up into separate packages. The tipfy project does this. However, the ext and color modules depend on util.

What's the best way to organize and release these modules? Do I split them up and name them wraith.util, wraith.ext, and wraith.color like tipfy? Do I include util when people install ext or color?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟沫凡尘 2024-12-13 09:42:56

如果 wraith.ext 等本身没有用,则无需拆分。你能想象有人会在不安装 wraith.color 的情况下使用 wrait.util 吗?

如果您决定拆分,则需要在 setup.py 中设置 install_requires ,它告诉 setuptools 等程序包依赖项。此外,您还需要设置 namespace_packages 告诉 wrait 命名空间也将接收其他包。

更多信息

If wraith.ext etc. are not useful on their own it is not necessary to split. Can you imagine someone would use wrait.util without installing wraith.color?

If you decide to split you need to set install_requires in setup.py which tells setuptools etc. the package dependencies. Also you need to set-up namespace_packages telling that wrait namespace will receive other packages too.

More info

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文