我有这个Python3的代码结构:
- datalake
__init__.py
utils
__init__.py
utils.py
lambdas
__init__.py
my-lambdas.py
- tests
__init__.py
demo.py
所有的init__.py
文件都是空的。
我的问题是如何从tests/demo.py
导入datalake
模块?我尝试在demo.py
中使用from datalake.utils import utils
,但是当我在命令行中运行python tests/demo.py
时,我会得到这个错误:ModuleNotFoundError: No module named 'datalake'
。
如果我使用这段代码:
from ..datalake.utils import utils
我将会得到错误信息 ValueError: attempted relative import beyond top-level package
。
我还尝试从 my-lambda.py
文件中导入模块 utils
,但是也失败了。在 my-lambda.py
文件中的代码是 from datalake.utils import utils
,但是当我从命令行运行 python datalake/lambda/my-lambda.py
时,我会得到 ModuleNotFoundError: No module named 'datalake'
的错误信息。
我该如何导入这个模块呢?
PYTHONPATH
环境变量中吗? - Joey Yi Zhao