我不知道这些进口。我已经在文件结构的最深层次上完成了除1之外的所有工作。
文件结构是:
| rootDir
|--- file1.py (main.py)
|--- appDir
|------ schema1Dir
|--------- file2.py (etlProcess.py)
|--------- file3.py (recordTable.py)
|------ schema2Dir
|--------- ...
|------ ...
我被困的地方:
file2.py试图从同一目录导入file3.py,以触发该文件中的类。我收到一个错误消息。
没有名为'file3'的模块
我已经尝试在每个目录中包含__init__.py
文件,完全删除这些文件,仅将这些文件放在特定目录中,依此类推。我在Google搜索中找到了所有解决方案,但无法解决。
这里是VS Code的屏幕截图,可能会更好地显示出来。。
Python导入始终相对于运行Python解释器的目录,在您的情况下,该目录是~/projects/companynurse/busterEtl
的源根目录,因此,为了使etlProcess.py
导入recordTable.py
,它应使用绝对导入并与完整的包路径:
from application.facilities import recordTable
或将relative import与.
一起使用以在同一目录中明确定位recordTable.py
:
from . import recordTable