整理一个Python图书馆作为插件

2024-06-28 15:29:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个库,比如说foolib,但是要将不同的子包分开,所以要将barmodule、bazmodule都放在同一个foolib主包下。换句话说,我希望客户端代码能够

import foolib.barmodule
import foolib.bazmodule

但要将barmodule和bazmodule作为两个独立的实体进行分发。将模块替换为包。。。ba[rz]模块可以是一个拥有复杂内容的成熟库。在

这一选择背后的原因是多方面的:

  • 我想一个用户只安装酒吧模块,如果他需要这样做。在
  • 我想保持模块相对独立和轻量级。在
  • 但我想把它们放在一个通用的命名空间下。在

jQuery的结构与插件类似。在

在python中使用标准的setuptools和安装过程是否可行?在


Tags: 模块代码用户import实体客户端内容原因
2条回答

您可能正在寻找namespace packages。另请参见PEP 382。在

是的,只需创建一个foolib目录,添加一个__init__.py,并使每个子模块成为.py文件。在

/foolib
    barmodule.py
    bazmodule.py

然后可以按如下方式导入它们:

^{pr2}$

相关问题 更多 >