命令行运行Python找不到包怎么办?Python在终端运行找不到模块如何解决

很多小伙伴在命令行和编辑器内执行脚本时就会发现一个问题 , 有些时候模块能够在命令行中正常执行 , 但是再有些时候确实会出现找不到包和模块提示 。所以小编会在下文来给大家详细讲解一下这个问题出现的原因和解决方法 , 感兴趣的话就往下看看吧 。

命令行运行Python找不到包怎么办?Python在终端运行找不到模块如何解决

文章插图
【命令行运行Python找不到包怎么办?Python在终端运行找不到模块如何解决】一、问题原因
只要是出现找不到包的情况 , 在排除了代码语法错误和名称错误的情况下 , 那么唯一能出现问题的地方就在文件路径了 。python程序在执行import这些导包代码时 , IDE这种编辑器会按照一定的规律和相关机制去从文件路径内找到这些包和模块并执行导入 。
而这个执行机制就是先从这个python项目所在的根目录内开始查找 , 而编辑器会自动将项目文件目录添加到模块查询的列表中 。而命令行中执行python脚本文件则是会从当前py文件所在的下级目录开始找 , 这样就是无法找到需要使用的包和模块了 。
二、解决方法
那么这个问题的解决方法就是要将python文件所在目录的路径给添加到模块查询路径列表中 , 如此就是需要使用到os模块以及sys模块了 。os内置模块的作用就是获取当前py文件所在的文件根目录绝对路径 , sys模块则是有一个名为path的列表 , 该列表内放的就是这个python程序执行时会去查找的各个文件路径 。
调用append()方法将绝对路径添加进入即可正常导入模块和包了 , 代码示例如下所示:
import sysimport oscurPath = os.path.abspath(os.path.dirname(__file__))rootPath = os.path.split(curPath)[0]sys.path.append(rootPath)以上就是关于“命令行运行Python找不到包怎么办?Python在终端运行找不到模块如何解决”的全部内容了 , 希望对你有所帮助 。

    推荐阅读