1.错误描述
以前在学习python的过程当中,导入本身写入的包文件时。from 本身写的类,会发现没有弹出选择。而且全输入类名称后会发现类名与相关导入的方法会爆红。如图:python
2.缘由分析
pycharm中,source root概念很是重要,当你在代码中写相对路径的时候,就是以source root为起点进行查询。学习
而pycharm中,当前的项目文件夹 是默认的source root,当你使用import语句导入模块时,Pycharm默认在project folder中寻找;spa
因此当你在project folder下的某个subfolder导入某个一样定义在这个subfolder中的模块时,会出现导入错误。
3d
3.解决方法
问题已经找到了,pycharm不会将当前文件目录自动加入本身的sourse_path。因此咱们要告诉pycharm就好了。下面有三种方法(3.1和3.二、3.3),都能比较方便的解决问题:blog
3.1 加一个“点”
这种方法试用于在方法在同级目录pycharm
例如:class
3.2 写入类所在文件名+“点”
这种方法适用于类在非同级目录下import
例如:方法
3.3 添加“当前目录”
这种方法也是我后面把家里代码带到公司打开报错以后才发现的。im
既然,pycharm不会将当前文件目录自动加入本身的sourse_path。那么咱们就手动告诉他。
右键目录名 点击make_directory as --> sources path 将当前工做的文件夹加入source_path就能够了。步骤以下图: