解决:python命令行运行出错 ImportError: No module named ...

Posted cnhkzyy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决:python命令行运行出错 ImportError: No module named ...相关的知识,希望对你有一定的参考价值。

一. 发现问题

今天在cmd命令行运行一个py文件,本来在pycharm中运行好好的文件,在命令行却报错了,直接提示我:ImportError: No module named ‘homeworks‘

技术分享图片

二. 什么原因

这是因为pycharm中,不光会导入环境变量中sys.path发现的模块,还会导入当前工作目录下的模块。在pycharm中,当前工作目录就是项目目录,能顺利调用相同项目中的模块。但通过命令行启动时,当前工作目录有可能不是项目目录,那么项目中的模块就不会被找到,因此运行时会报错:ImportError: No module named ...

三. 如何解决

方法一:

新建环境变量PYTHONPATH,将模块路径放到环境变量中作为全局变量(推荐使用)

由于我的main.py文件所在的路径为:D:python_workshoppython6homeworksxiaozhai_lesson17_homeworkTestCases

技术分享图片

 

 技术分享图片

 

方法二:

在代码中使用sys.path.append方法将main.py所在目录加入到搜素目录中,切记,这段代码必须放在from ... import ...前面

技术分享图片

注意:

选择上面两种方法任意一种都可以,如果修改完代码或者配置完环境变量后,在命令行还是报错,这时请退出cmd,重新进入,然后就可以顺利的运行了

 

 

参考文章

https://blog.csdn.net/qq_35304570/article/details/78151545

https://blog.csdn.net/hello__Jerry/article/details/79586034

 



以上是关于解决:python命令行运行出错 ImportError: No module named ...的主要内容,如果未能解决你的问题,请参考以下文章

linux 下 命令行中运行 selenium chrome 问题

python实现了多线程,如果使用了命令kill把正在运行的进程kill掉的话,可能某些线程会出错,怎么解决?

运行 PySpark 命令时出错

.ImportXML命令在MS Access中出错

安装pygame出错怎么办?

python命令行运行py文件找不到模块的解决办法