python3版本
from .XX.logger import Logger ModuleNotFoundError: No module named '__main__.XX'; '__main__' is not a package
代码语言:javascript复制from .output.logger import Logger
from .output.logger import Logger
ModuleNotFoundError: No module named '__main__.output'; '__main__' is not a package
不知道原因
解决办法是不使用当前路径的 .
代码语言:javascript复制from automationtest_frame.output.logger import Logger
同时
1、把automationtest_frame 的上级路径放到系统path里
2、把autimation_frame的上级目录作为工程目录打开
以下是终极原因****************************************************************************************************************************
接着调查原因明确了,不能简单的这样执行,这样执行的话,模块的名字被变成了__main__
例如
run.py
代码语言:javascript复制from .dir_2.testfile import TestFile
class Run(TestFile):
def hello(self):
print("hello")
self.nothing()
dir_2testfile.py
代码语言:javascript复制class TestFile():
def nothing(self):
return
直接执行run.py就报错了,当前文件方式执行的话,上级目录相对的包名,也变成了__main__
所以必须是run.py以module来执行,例如如下方式
run1.py里,调用run来执行
代码语言:javascript复制from dirtest.run import Run
Run().hello()
所以使用from的话,还是建议使用本文开始说的结局方案比较好,直接使用相对路径会出现问题