在 Python 包中导入文件

Import File in Python Package

我将如何在 python 包中导入另一个文件。我用

安装包
pip install .

所以我可以 运行 使用

python3 -m pkg

文件结构如下:
.
├── pkg
│⠀⠀├── cli.py
│⠀⠀├── __init__.py
│⠀⠀├── __main__.py
├── README.md
└── setup.py

我尝试使用

从cli.py导入__main__.py中的一个函数
import .cli as clifunc

但它会导致错误

root@localhost:~# python3 -m pkg
import .cli as clifunc
       ^
SyntaxError: invalid syntax

如何导入文件?我尝试过的其他方法导致错误是文件不是模块!?!我怎样才能导入文件?

所以显然当使用显式相对导入时(使用像 .cli 这样的点),你不能只使用 import .module(虽然不确定为什么,也许其他人会这样做)

您需要使用 from . import module

所以 from . import cli as clifunc 应该可以。