如何在绝对导入中设置没有点符号的 Pypi 包 - python3

How to set up a Pypi package without the dot notation in absolute import - python3

大多数 "professional" python 模块可以像这样导入:

from pythonfile import class

这就是我通常导入本地文件 system/current 目录中自己的 classes 的方式。

但看了几个帖子和 python.org 文档后,我仍然无法像那样导入我的 python 模块(在 Pypi.org 上)。

让我的模块导入的唯一方法是这样的:

from example.example import Example

(示例是 example.py 中的 class)

如何让我的模块像这样导入:

from example import Example

我在 Pypi 上的模块有这样的文件夹结构,可以通过 pip 安装:

example/
|
├── example/
│   ├── example.py
│   ├── __init__.py
│   └── __pycache__
│       └── __init__.cpython-36.pyc
|
|
├── __init__.py
├── LICENSE
|
├── README.md
└── setup.py

我应该将导入语句添加到 __init__.py 文件之一吗?

我希望开发者能够通过 pip 安装包,然后使用一个简单的

from example import Example 而不是 from example.example import Example

谢谢。

当您查看其他一些大包时,它们通常会在顶部 __init__.py 类似

from .modulex import *
from .moduley import *

圆点表示,python 在 PYTHONPATH 的其余部分之前查找当前包。