python 中关于无法导入自己写的类。解决方法

1.错误描述

  之前在学习python的过程中,导入自己写入的包文件时。from 自己写的类,会发现没有弹出选择。并且全输入类名称后会发现类名与相关导入的方法会爆红。如图:

  

2.原因分析

  pycharm中,source root概念非常重要,当你在代码中写相对路径的时候,就是以source root为起点进行查询。

  而pycharm中,当前的项目文件夹 是默认的source root,当你使用import语句导入模块时,Pycharm默认在project folder中寻找;

  所以当你在project folder下的某个subfolder导入某个同样定义在这个subfolder中的模块时,会出现导入错误。

3.解决方法

  问题已经找到了,pycharm不会将当前文件目录自动加入自己的sourse_path。所以我们要告诉pycharm就行了。下面有三种方法(3.1和3.2、3.3),都能比较方便的解决问题:

  3.1 加一个“点”

  这种方法试用于在方法在同级目录

  例如:

  

   3.2 写入类所在文件名+“点”

  这种方法适用于类在非同级目录下

  例如:

  

  3.3 添加“当前目录”

  这种方法也是我后面把家里代码带到公司打开报错之后才发现的。

  既然,pycharm不会将当前文件目录自动加入自己的sourse_path。那么我们就手动告诉他。

  右键目录名 点击make_directory as --> sources path 将当前工作的文件夹加入source_path就可以了。步骤如下图:

  

猜你喜欢

转载自www.cnblogs.com/jc-home/p/12098065.html