最近在GitHub上找源码时经常遇到本地模块无法导入的问题,解决了之后为了加深印象所以记录一下
问题描述
问题原因
正常情况下如果可以正常导入的话按 ctrl+鼠标左键 是可以进入模块内部的,如下图
按着Ctrl,鼠标放上去是有反应的,而导入不成功的话是这样的
会提醒你未能找到该模块的声明,这是由于导入路径没有设置好造成的,就好像设置电脑的环境变量一样,没有设置好环境变量的话系统就无法找到该路径下的文件。
问题解决
只需要将需要导入的模块的上级目录设置为source root即可
如图所示,我要导入的是CNN-Network/Layers文件夹下的本地文件,只需要将CNN-Network设置为source root就可以了,当然也可以直接将Layers设置为source root都是可以的,只需要在写引入模块操作的的时候以Layers作为source root进行导入就可以了。
导入成功。