[python]关于在python中模块导入问题追加总结
【背景】
最近在写程序时,我使用的eclipse编辑器运行都没有问题,然后部署到自动化环境上却偏偏报找不到相应模块问题,现在对该问题在之前的贴子上追加总结
【自动化环境上失败现象】
【实际的文件结构如下】
说明:在项目work里面有两个包分别是common、test,现在通过在程序文件test1.py中导入logs模块
【模块导入的流程】
在程序文件中涉及到导入其它模块时,首先会到python的安装路径下去找是否有对应的模块,如果没有找到再到自定义的PYTHONPATH中去查找,都未找到时就会报找不对应模块的错误,上面提到的错误,在部署到自动化环境上时很很可能就是路径出问题了导致自动化工具找不到相应模块。
【分析】
为什么再eclipse上运行就不会有问题,这个肯定是该工具会自动将项目文件目录自动添加到环境变量中,所以才不会有问题,我们可以通过将sys.path打印出来证实就可以,如下图
【解决办法】
1、进入到系统的环境变量设置中,在系统变量中新建一个 名字为 PYTHONPATH ,变量值为项目文件所在目录,如下图:我的项目文件work是放在 E:\04.script 下
保存之后如下:
【结果验证】
在环境变量添加完成之后,重新启动自动化环境再次运行,结果不会报模块找不到了(如果仍然报模块找不到,再把上面步骤重新检查一次,然后一定要重启自动化工具),如下
【经验教训】
以后不管是在哪个地方新建了python项目文件,都必须将python项目文件添加到系统的 PYTHONPATH 环境变量中(若没有该变量则手动新建),能保证所写的python程序在其它地方都能正常运行。