Python 当多个(子)文件夹具有相同名称时,导入模块
如果项目目录和子文件夹具有相同的名称,则在运行pytest时会出现导入错误 我尝试重命名子文件夹,然后没有问题 例如,使用以下文件夹结构:Python 当多个(子)文件夹具有相同名称时,导入模块,python,python-3.x,pytest,python-import,Python,Python 3.x,Pytest,Python Import,如果项目目录和子文件夹具有相同的名称,则在运行pytest时会出现导入错误 我尝试重命名子文件夹,然后没有问题 例如,使用以下文件夹结构: 计划/ 计划/ tools.py 福/ foofile.py 酒吧/ 单元测试/ test_foofile.py 在project/foo/foofile.py中,我们尝试从project/project/tools.py导入类: 从project.tools导入ClassA 然后从一级目录项目运行python-m pytest时,我得
- 计划/
- 计划/
- tools.py
- 福/
- foofile.py
- 酒吧/
- 单元测试/
- test_foofile.py
- 计划/
从project.tools导入ClassA
然后从一级目录项目运行python-m pytest
时,我得到以下错误:
ImportError:无法从“project.tools”(未知位置)导入名称“ClassA”
有没有办法告诉解释器应该查看子文件夹project?您是否尝试了project.project.tools import ClassA中的
?您是否验证了当前工作目录是内部project
文件夹,同时确保正常导入机器无法找到外部模块?@Post169:这不是一个选项,因为该项目在其他项目中用作子模块。那么无法保证目录名。看起来您想从绝对路径导入。这里有一个问题:这取决于几个方面:当您运行pytest命令时,您在哪个文件夹中?是否在每个子文件夹中都放置了init.py文件?