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
解决方法:
通过上述的语句,可以查看到需要加载的模块路径,为了避免错误,需要将这些模块路径加载到所需要运行的脚本中。
然后,再次运行此脚本,就不会出现这样的错误了。
参考:
https://stackoverflow.com/questions/15514593/importerror-no-module-named-when-trying-to-run-python-script
http://www.cnblogs.com/arkenstone/p/5765522.html
后来,在使用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
相关文章推荐
- Windows下运行python脚本报错“ImportError: No Module named ...”的解决方法
- Windows下运行python脚本报错“ImportError: No Module named ...”的解决方法
- Windows下在Django中创建项目时ImportError: No module named django.core解决方法
- Python安装模块出错(ImportError: No module named setuptools)解决方法
- ROS运行python脚本报错ImportError: No module named srv
- python 解决方法:ImportError: No module named cx_Oracle
- python下运行import sklearn.model_selection 出错ImportError: No module named model_selection解决方法
- Python安装模块出错(ImportError: No module named setuptools)解决方法
- crontab中运行python程序出错,提示ImportError: No module named解决全过程
- Tensorflow运行中出现ImportError: No module named input_data报错信息的解决方法
- Windows下解决python - ImportError: No module named paramiko
- crontab中运行python程序出错,提示ImportError: No module named解决全过程
- Python安装模块出错(ImportError: No module named setuptools)解决方法
- ImportError: No module named XXX 错误解决方法(Windows)
- Python安装模块出错(ImportError: No module named setuptools)解决方法
- Python安装模块出错(ImportError: No module named setuptools)解决方法
- Python ImportError: No module named scrapy 成功安装scrapy,却无法import的解决方法
- Python安装模块出错(ImportError: No module named setuptools)解决方法
- python错误 ImportError: No module named setuptools 解决方法