linux下python找不到moudle
问题:
该图片提示的错误就是找不到模块,可是对应文件夹中明明包含了该文件
解决办法:
- 在python中,每个py文件被称之为模块,每个包含init.py文件被称为包。只要模
块或者包所在的目录在sys.path中,就可以使用import 模块或import 包来使用
如果你要使用的模块(py文件)和当前模块在同一目录,只要import相应的文件名就好。 - 我的目录结构如下:
运行的文件目录:/mnt/lcr/self-critical.pytorch/scripts
该文件中原有的引用代码:
from misc.resnet_utils import myResnet
该代码块所在的位置:/mnt/lcr/self-critical.pytorch/misc/resnet_utils,其中myResnet是该py文件中的模块。
当代码按上图写时,会报错。可以改成下面的方式:
import sys
sys.path.append('./misc')
from resnet_utils import myResnet
总结
找到包含init.py文件的包,将该包的路径加入path,然后就可以Import对应的py文件,或者从py文件中导入模块。