我该如何将Python模块拆分成PyPi包?
我写了一个Python模块,想让其他人也能使用。目前这个模块很大,里面有几个子文件夹:
- wraith
- util
- ext
- color
我觉得把这些子文件夹分开成不同的包会更好。tipfy项目就是这么做的。不过,ext和color模块是依赖于util的。
那么,组织和发布这些模块的最佳方式是什么呢?我应该把它们分开,命名为wraith.util、wraith.ext和wraith.color,就像tipfy那样吗?在用户安装ext或color时,是否也要包含util?
1 个回答
1
如果像wraith.ext这样的模块本身没有什么用,那就没必要把它们拆分开。你能想象有人会在没有安装wraith.color的情况下使用wraith.util吗?
如果你决定要拆分这些模块,你需要在setup.py文件中设置install_requires,这个设置会告诉setuptools等工具哪些是这个包需要的依赖。此外,你还需要设置namespace_packages,这表示
更多信息