加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

用Python命名模块的间距

发布时间:2020-12-17 17:36:53 所属栏目:Python 来源:网络整理
导读:我有几个我想命名空间的仓库.所有存储库都遵循标准的Python文件夹结构,其中 repo1 - repo1 - __init__.py 最外面的repo1文件夹是根文件夹,而内部repo1文件夹是模块的根目录.所有这些存储库将使用 pip install -e . 当前,使用如下所示的import语句来导入这些

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读