用Python命名模块的间距

前端之家收集整理的这篇文章主要介绍了用Python命名模块的间距 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有几个我想命名空间的仓库.所有存储库都遵循标准的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 namespace_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()

猜你在找的Python相关文章