python导模块时是按sys.path进行相应的搜索,所以出现导包错误是可以补充一句:print(‘the path of ~ is {}’.format(sys.path)),
注意:sys.path[0]是当前脚本的运行目录
sys.path.append是基于这个目录之上进行搜索的,如果实在不行,也可以直接加入绝对路径,在这个绝对路径之下进行包的导入
以下代码可以保证在任何时候都切换到当前执行脚本所在目录中,该当当做公式熟记在心
abspath = os.path.dirname(__file__)
sys.path.append(abspath)
print abspath
if abspath=='':
os.chdir(sys.path[0])
else:
os.chdir(abspath)