您的位置:首页 > 编程语言 > Python开发

Windows cmd下运行python脚本报错“ImportError: No Module named ...”的解决方法

2018-01-31 09:49 1256 查看
在jenkins构建步骤,使用Execute windows batch command调用python脚本的时候,在jenkins log发现报错:ImportError: No Module named TestRequests.

后来,在使用windows cmd 进行调试的时候,发现一个相同的python脚本(import了一个相同工作区中的其他文件夹中的一些模块)在PyCharm 或者Python IDLE中可以正常运行,但是使用cmd 运行该脚本,却报错:ImportError: No Module named … ,这是因为Python在启动解释器(Interpreter)的时候不只会导入环境变量中sys.path发现的模块,还会导入当前工作目录下的模块。当你在IDLE中启动解释器时,当前的工作目录就是项目目录,能顺利调用同项目中的模块;但是当你通过命令行启动时,当前工作目录为你启动解释器时所在的目录,如果当时的位置不是项目目录,那么项目目录中的模块就不会被找到,比如:



因此,在运行running.py时,报错:ImportError: No Module named …

这是因为在上面的项目中有如下脚本,运行running.py需要调用另一个目录下的TestRequest.py中。如果在cmd命令行中运行的时候会出现以下错误:

ImportError: No Module named TestRequests

解决方法:

import sys
print (sys.path)


通过上述的语句,可以查看到需要加载的模块路径,为了避免错误,需要将这些模块路径加载到所需要运行的脚本中。



然后,再次运行此脚本,就不会出现这样的错误了。

参考:

https://stackoverflow.com/questions/15514593/importerror-no-module-named-when-trying-to-run-python-script

http://www.cnblogs.com/arkenstone/p/5765522.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐