用Python命名模块的间距

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

我有几个我想命名空间的仓库.所有存储库都遵循标准的Python文件夹结构,其中

  1. repo1 - repo1 - __init__.py

最外面的repo1文件夹是根文件夹,而内部repo1文件夹是模块的根目录.所有这些存储库将使用

  1. pip install -e .

当前,使用如下所示的import语句来导入这些模块.

  1. import repo1
  2. import repo2
  3. import repo3

有没有办法命名这些模块的空间,以便我可以

  1. import mymodule.repo1
  2. import mymodule.repo2
  3. import mymodule.repo3

我必须在保持存储库分离的同时实现名称间距.目前无法合并回购协议.

最佳答案
实施细节取决于您对版本支持和发行的需求,但请看setuptools namespace_packages,这将完成工作.

如上所述,打包站点在命名空间打包上有useful page.

本机名称空间的示例(python> = 3.3).孤立存储库的项目布局:

  1. project_root1
  2. ├── finance_namespace # no __init__ file here,this is important
  3.    └── repo1
  4.    ├── __init__.py
  5.    └── module1.py
  6. └── setup.py
  7. ===============================
  8. # setup.py
  9. import setuptools
  10. setuptools.setup(
  11. 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.你应该能够做

  1. >>> from finance_namespace.repo1 import module1
  2. >>> module1.func()

猜你在找的Python相关文章