1、报错截图:
2、报错原因:
python加载模块时,会搜索当前目录、已安装的内置模块、第三方模块,搜索的路径放在sys模块的path变量中,找不到就会报错:ImportError: No module named ‘XXX’
import sys
print(sys.path)
['D:\\JetBrains\\PyCharm Community Edition 2017.3\\helpers\\pydev', 'D:\\JetBrains\\PyCharm Community Edition 2017.3\\helpers\\pydev', 'E:\\技术资料\\接口框架\\mockenv\\Scripts\\python35.zip', 'E:\\技术资料\\接口框架\\mockenv\\DLLs', 'E:\\技术资料\\接口框架\\mockenv\\lib', 'E:\\技术资料\\接口框架\\mockenv\\Scripts', 'c:\\python\\python35\\Lib', 'c:\\python\\python35\\DLLs', 'E:\\技术资料\\接口框架\\mockenv', 'E:\\技术资料\\接口框架\\mockenv\\lib\\site-packages', 'E:\\技术资料\\接口框架\\myMockServer', 'E:/技术资料/接口框架/myMockServer']
3、解决方法:
在sys.path变量中添加需要搜索的目录
如上面pytest运行报错上级目录模块找不到,可以在conftest.py中,在模块导入前加上以下代码,问题得解:
import os
import sys
sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '../')))