python文件运行时报错:ModuleNotFoundError: No module named 'name'

现在总结几种解决办法:
1、有可能是当前路径与根路径下有重名文件
重名导致
2、需要导包的文件夹中没有__init.py__ 这个文件

3、将文件的路径放到python安装目录下的 lib

4、引用sys包中的path
import sys
sys.path.append(’引用模块的地址’)

5、在pycharm中直接选择Sources Root即可
在这里插入图片描述
6、如果在linux系统中可以将需要导入的文件地址加到/root 目录下的.bashrc里面然后 source一下

总结:

1、如果需要导入的包和导入包的文件在同一个目录下直接import即可
在这里插入图片描述
例如b.py需要用a.py的某些代码就可以直接import

2.如果导入的模块是在主程序所在目录的子目录下,可以在子目录中增加一个空白的__init__.py文件,该文件使得python解释器将子目录整个也当成一个模块,然后直接通过“import 子目录.模块”导入即可。
在这里插入图片描述
例如b.py需要用c.py的某些代码就可以直接import

3.如果导入的模块是在主程序所在目录的父目录下,则要通过修改path来解决,有两种方法:

(1)通过”import sys,sys.path.append(‘父目录的路径’)“来改变,这种方法属于一次性的,只对当前的python解释器进程有效,关掉python重启后就失效了。

(2)直接修改环境变量:在windows中是 “ set 变量=‘路径’ ” 例如:set PYTHONPATH=‘C:\test…’ 查看是否设置成功用echo %PYTHONPATH%,而且进到python解释器中查看sys.path,会发现已经有了新增加的路径了。这 种方式是永久的,一次设置以后一直都有效。在linux中是 “export 变量=‘路径’ “,查看是” echo $变量 "

/root 目录下 vim .bashrc
在这里插入图片描述 通过修改path是通用的方法,因为python解释器就是通过sys.path去一个地方一个地方的寻找模块的。