Python 3.x 如何为大型项目分发可选的Python子包?
我有一些现有的较大的python包“mainproject”,它通过从该包导入模块来使用,例如从mainproject导入m1、m2、m3。该包已经包含子包,因此也可以从mainproject执行Python 3.x 如何为大型项目分发可选的Python子包?,python-3.x,package,Python 3.x,Package,我有一些现有的较大的python包“mainproject”,它通过从该包导入模块来使用,例如从mainproject导入m1、m2、m3。该包已经包含子包,因此也可以从mainproject执行。sub1导入sub1m1,sub1m2 现在这个项目已经变得越来越大,并且有一些并非每个人都想要的附加模块。但如果能将它们安装到相同的包结构中,那就太好了 因此,例如,如果以后可以安装一个包,以便在安装后可以从mainproject.sub4导入… 我是否可以拥有一个名为“mainproject_su
。sub1导入sub1m1,sub1m2
现在这个项目已经变得越来越大,并且有一些并非每个人都想要的附加模块。但如果能将它们安装到相同的包结构中,那就太好了
因此,例如,如果以后可以安装一个包,以便在安装后可以从mainproject.sub4导入…
我是否可以拥有一个名为“mainproject_sub4”的附加发行版,它提供包结构mainproject/sub4
,并认为可以工作
这可能吗?我见过“名称空间包”,但为了使用它们,我认为当前项目必须完全重构,因为目前,“mainproject”包有一个\uuuu init\uuuuuuuuuupy
文件和几个实现东西的模块
创建一组模块化软件包的正确方法是什么,这样就有了一个主软件包,并且可以单独安装其他模块和子软件包
是否可以将附加模块和子包作为附加模块安装?因此,为了有选择地安装上述示例中的“sub4”子包,可以执行pip install mainproject[sub4]
这都是关于Python3的,如果需要的话,需要Python3.6作为解决方案是没有问题的