从文件夹导入时出现Python“模块未找到”错误?

2024-06-06 07:14:30 发布

您现在位置:Python中文网/ 问答频道 /正文

在尝试将项目目录中的文件夹中的文件作为包导入时,我经常遇到“找不到模块”错误的问题。我试过Stackoverflow答案中的几个解决方案,但没有一个对我有效。以下是发生的事情,以及我所做的尝试:

我在conda环境中使用PyCharm在Flask项目上工作,并拥有如下项目目录:

/some/path/project_root/ migrations/ static/ templates/ reporting/ __init__.py code.py tests.py

tests.py文件中,有导入语句要作为模块导入code.py

from .code import my_function

但是,当我运行(devenv) me@comp:project_root$ > python reporting/tests.py

我得到错误:ModuleNotFoundError: No module named '__main__.code'; '__main__' is not a package

我尝试将项目目录路径追加到$PYTHONPATH,然后echo $PYTHONPATH返回/some/path/project_root/

我需要配置什么才能使它正常工作?另外,无论需要更改什么设置,我都可以根据所使用的开发环境进行特定的设置吗?


Tags: 模块文件path项目py目录project环境
1条回答
网友
1楼 · 发布于 2024-06-06 07:14:30

from .code import my_function更改为from code import my_function。包的顶层由具有__init__.py文件的最高文件夹定义。所以项目的顶层是reporting文件夹,而code.py不需要是相对导入。最好是避免相对进口或得到一个像PyCharm这样的编辑,将照顾你!

相关问题 更多 >