我有几个我想命名空间的仓库.所有存储库都遵循标准的Python文件夹结构,其中
repo1 - repo1 - __init__.py
最外面的repo1文件夹是根文件夹,而内部repo1文件夹是模块的根目录.所有这些存储库将使用
pip install -e .
当前,使用如下所示的import语句来导入这些模块.
import repo1
import repo2
import repo3
有没有办法命名这些模块的空间,以便我可以
import mymodule.repo1
import mymodule.repo2
import mymodule.repo3
我必须在保持存储库分离的同时实现名称间距.目前无法合并回购协议.
最佳答案
实施细节取决于您对版本支持和发行的需求,但请看setuptools
原文链接:https://www.f2er.com/python/533104.htmlnamespace_packages
,这将完成工作.
如上所述,打包站点在命名空间打包上有useful page.
本机名称空间的示例(python> = 3.3).孤立存储库的项目布局:
project_root1
├── finance_namespace # no __init__ file here,this is important
│ └── repo1
│ ├── __init__.py
│ └── module1.py
└── setup.py
===============================
# setup.py
import setuptools
setuptools.setup(
name='repo1',version='1',description='',long_description='',author='Big bank',author_email='john@bank.com',license='MIT',packages=['finance_namespace.repo1'],zip_safe=False,)
现在,通过制作cd project_root1&& pip install -e.你应该能够做
>>> from finance_namespace.repo1 import module1
>>> module1.func()