Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python“;“未找到模块”;从文件夹导入时出错?_Python_Python 3.x - Fatal编程技术网

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

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导入我的

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

我正在conda环境中使用PyCharm开发一个Flask项目,项目目录如下:

/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