Python“;“未找到模块”;从文件夹导入时出错?
在尝试将项目目录中的文件夹中的文件作为包导入时,我遇到了“找不到模块”错误的常见问题。我从Stackoverflow答案中尝试了几种解决方案,但没有一种对我有效。下面是发生的事情和我尝试过的: 我正在conda环境中使用PyCharm开发一个Flask项目,项目目录如下:Python“;“未找到模块”;从文件夹导入时出错?,python,python-3.x,Python,Python 3.x,在尝试将项目目录中的文件夹中的文件作为包导入时,我遇到了“找不到模块”错误的常见问题。我从Stackoverflow答案中尝试了几种解决方案,但没有一种对我有效。下面是发生的事情和我尝试过的: 我正在conda环境中使用PyCharm开发一个Flask项目,项目目录如下: /some/path/project\u root/ 迁移/ 静止的/ 模板/ 报告/ __初始值 代码.py tests.py 在tests.py文件中,有导入语句要作为模块导入code.py: from.code导入我的
/some/path/project\u root/
迁移/
静止的/
模板/
报告/
__初始值
代码.py
tests.py
在tests.py
文件中,有导入语句要作为模块导入code.py
:
from.code导入我的功能
但是,当我运行(devenv)时me@comp:project\u root$>python报告/tests.py
我得到错误:ModuleNotFoundError:没有名为“\uuu main\uuuu.code”的模块__main__u;不是一个包
我尝试将项目目录路径附加到$PYTHONPATH,并且echo$PYTHONPATH
返回/some/path/project\u root/
我需要配置什么才能使其正常工作?另外,无论我需要更改什么设置,我是否可以使这些设置特定于我正在使用的开发环境?更改
from.code导入我的\u函数
到from code导入我的\u函数
。包的顶层由包含\uuuu init\uuuu.py
文件的最高文件夹定义。因此,项目的顶层是reporting
文件夹,code.py
不需要是相对导入。最好要么避免相对导入,要么找一个像PyCharm这样的编辑器来帮你处理 您也可以尝试运行python-m reporting.tests.py
,但这可能会给您带来另一个错误!这个答案的第二句是完全错误的。通常,它是最深的文件夹,没有您希望作为项目根目录并位于模块搜索路径上的\uuuu init\uuuuu.py
文件。这里的问题是代码是如何运行的,它选择reporting
文件夹作为CWD,而不是project\u root
。