我想创建一个库,比如foolib,但是为了保持不同的子包分离,所以要将barmodule,bazmodule都放在同一个foolib主包下。换句话说,我希望客户端代码能够执行
import foolib.barmodule
import foolib.bazmodule
但是将barmodule和bazmodule分配为两个独立的实体。用模块替换模块... ba [rz]模块可以是一个复杂内容的fukll fledged库。
这种选择背后的原因是多方面的:
jQuery与插件有类似的结构。
使用标准的setuptools和安装程序在python中是否可行?
答案 0 :(得分:3)
您可能正在寻找namespace packages。另请参阅PEP 382。
答案 1 :(得分:0)
是的,只需创建一个foolib目录,向其添加__init__.py
,并使每个子模块成为.py
文件。
/foolib
barmodule.py
bazmodule.py
然后您可以像这样导入它们:
from foolib import barmodule
barmodule.some_function()