解决Python中导入自己写的类,被划红线,但不影响执行的问题

作者:最小森林 时间:2021-07-11 19:10:29 

1. 错误描述

之前在学习Python的过程中,导入自己写的包文件时,与之相关的方法等都会被划红线,但并不影响代码执行,如图:

解决Python中导入自己写的类,被划红线,但不影响执行的问题

看着红线确实有点强迫症,并且在这个过程当时,当使用该文件里的方法时不会自动提示方法名,只能靠手全部输入,这种容易造成手误,对于小白特别容易降低编写效率

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.1 加一个“点”

第一种方法非常简单,只需要在models前加一个点。表示,告诉pycharm我要引用的模块位于同级目录。

例如:

from models import className

修改为:

from .models import className

就可以不报错了

3.2 添加“当前目录”

第二种方法:

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

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

解决Python中导入自己写的类,被划红线,但不影响执行的问题

来源:https://blog.csdn.net/u012052268/article/details/88077677

标签:Python,导入类,划红线,执行
0
投稿

猜你喜欢

  • asp防止盗链HTTP_REFERER判断代码

    2010-03-12 10:41:00
  • ASP Cookies操作的详细介绍与实例代码

    2011-03-10 10:53:00
  • HTML 5 预览

    2008-01-24 12:17:00
  • 浅谈Python2获取中文文件名的编码问题

    2021-08-11 08:18:45
  • php验证码的制作思路和实现方法

    2023-09-04 13:23:37
  • Python导入不同文件夹中文件的方法详解

    2022-01-22 09:30:08
  • python神经网络使用Keras构建RNN训练

    2021-07-19 21:12:15
  • MySQL数据库对dvbbs.php全文搜索的完全分析

    2010-06-11 13:25:00
  • Python函数和模块的使用详情

    2023-10-11 13:51:20
  • 我是如何从玩Photoshop变成老板的

    2008-04-10 11:33:00
  • Python按天实现生成时间范围序列的方法详解

    2022-12-31 13:48:45
  • 能让Python提速超40倍的神器Cython详解

    2023-11-12 07:11:11
  • Python利用PaddleOCR制作个搜题小工具

    2022-07-22 16:18:18
  • python递归函数绘制分形树的方法

    2021-04-22 02:16:02
  • python数据类型之间怎么转换技巧分享

    2023-09-04 02:38:42
  • ASP3.0中的流控制能力

    2008-10-19 17:41:00
  • 学习XHTML和HTML之间的区别

    2007-08-22 11:02:00
  • SQL Server 数据库索引其索引的小技巧

    2012-07-11 15:55:02
  • asp 解析一个xml文件的公用函数集合

    2008-02-29 13:40:00
  • Django框架基础认证模块auth应用示例

    2023-11-10 07:48:51
  • asp之家 网络编程 m.aspxhome.com