[python]关于在python中模块导入问题追加总结

Posted 51study

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[python]关于在python中模块导入问题追加总结相关的知识,希望对你有一定的参考价值。

【背景】

最近在写程序时,我使用的eclipse编辑器运行都没有问题,然后部署到自动化环境上却偏偏报找不到相应模块问题,现在对该问题在之前的贴子上追加总结

原帖子:【python】关于python中模块导入的总结

 

【自动化环境上失败现象】

技术分享图片

 

【实际的文件结构如下】

 技术分享图片

说明:在项目work里面有两个包分别是common、test,现在通过在程序文件test1.py中导入logs模块

【模块导入的流程】

在程序文件中涉及到导入其它模块时,首先会到python的安装路径下去找是否有对应的模块,如果没有找到再到自定义的PYTHONPATH中去查找,都未找到时就会报找不对应模块的错误,上面提到的错误,在部署到自动化环境上时很很可能就是路径出问题了导致自动化工具找不到相应模块。

【分析】

为什么再eclipse上运行就不会有问题,这个肯定是该工具会自动将项目文件目录自动添加到环境变量中,所以才不会有问题,我们可以通过将sys.path打印出来证实就可以,如下图

技术分享图片

 

 【解决办法】

1、进入到系统的环境变量设置中,在系统变量中新建一个 名字为 PYTHONPATH  ,变量值为项目文件所在目录,如下图:我的项目文件work是放在 E:4.script 下

技术分享图片

 

 保存之后如下:

技术分享图片

 

 【结果验证】

在环境变量添加完成之后,重新启动自动化环境再次运行,结果不会报模块找不到了(如果仍然报模块找不到,再把上面步骤重新检查一次,然后一定要重启自动化工具),如下

 技术分享图片

【经验教训】

以后不管是在哪个地方新建了python项目文件,都必须将python项目文件添加到系统的 PYTHONPATH 环境变量中(若没有该变量则手动新建),能保证所写的python程序在其它地方都能正常运行。

以上是关于[python]关于在python中模块导入问题追加总结的主要内容,如果未能解决你的问题,请参考以下文章

vscode如何配置debug,python正则表达式如何匹配括号,关于python如何导入自定义模块

python 的 chardet 安装完成了缺无法导入怎么办

关于python包,模块,.pyc文件和文件导入理解

python 关于 不同模块内类的变量继承和包的模块导入的一些感悟

python关于import的汇总

关于python如果没有numpy模块如何处理