如何在Python中创建名称空间包?
在Python中,命名空间包可让您在多个项目中传播Python代码。当您要将相关的库作为单独的下载发布时,这很有用。例如,对于PYTHONPATH中的Package-1和Package-2目录,
Package-1/namespace/__init__.py Package-1/namespace/module1/__init__.py Package-2/namespace/__init__.py Package-2/namespace/module2/__init__.py the end-user can import namespace.module1 and import namespace.module2.
在Python3.3上,您无需执行任何操作,只需在命名空间包目录中不放置任何__init__.py即可。这是因为Python3.3引入了隐式命名空间包。
在较旧的版本上,有一个称为pkgutil的标准模块,您可以使用该模块将模块“附加”到给定的命名空间。您应该将这两行放在两个Package中。
1/namespace/__init__.py and Package-2/namespace/__init__.py: from pkgutil import extend_path __path__ = extend_path(__path__, __name__)
这会将以软件包名称命名的sys.path上目录的所有子目录添加到软件包的__path__中。之后,您可以分别分发2个软件包。
热门推荐
6 保研的祝福语简短
10 年轻20岁祝福语简短
11 朋友结婚祝福语信息简短
12 女孩婚礼贺卡祝福语简短
13 30段点歌简短祝福语
14 虎年春节祝福语图文简短
15 写给后妈祝福语大全简短
16 简短回复生日祝福语
17 校长送毕业祝福语简短
18 毕业立体贺卡祝福语简短