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


Posted in Python onJuly 13, 2020

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中导入自己写的类,被划红线,但不影响执行的问题

以上这篇解决Python中导入自己写的类,被划红线,但不影响执行的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python回调函数的使用方法
Jan 23 Python
详解Python中的多线程编程
Apr 09 Python
flask session组件的使用示例
Dec 25 Python
Django处理多用户类型的方法介绍
May 18 Python
使用python画社交网络图实例代码
Jul 10 Python
简单了解python PEP的一些知识
Jul 13 Python
python下PyGame的下载与安装过程及遇到问题
Aug 04 Python
Python下划线5种含义代码实例解析
Jul 10 Python
Python如何读写字节数据
Aug 05 Python
Python实现自动签到脚本的示例代码
Aug 19 Python
python 字符串格式化的示例
Sep 21 Python
Python 使用xlwt模块将多行多列数据循环写入excel文档的操作
Nov 10 Python
浅析Python 抽象工厂模式的优缺点
Jul 13 #Python
python正则表达式的懒惰匹配和贪婪匹配说明
Jul 13 #Python
浅析Python 简单工厂模式和工厂方法模式的优缺点
Jul 13 #Python
对python中list的五种查找方法说明
Jul 13 #Python
使用Python项目生成所有依赖包的清单方式
Jul 13 #Python
Python判断远程服务器上Excel文件是否被人打开的方法
Jul 13 #Python
Python依赖包迁移到断网环境操作
Jul 13 #Python
You might like
php使用curl模拟登录后采集页面的例子
2013/11/04 PHP
prototype 中文参数乱码解决方案
2009/11/09 Javascript
使用JavaScript库还是自己写代码?
2010/01/28 Javascript
50款非常棒的 jQuery 插件分享
2012/03/29 Javascript
JavaScript数组常用方法
2015/03/02 Javascript
原生javascript实现的一个简单动画效果
2016/03/30 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
详解vue项目接入微信JSSDK的坑
2018/12/14 Javascript
js实现简单分页导航栏效果
2019/06/28 Javascript
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
vue之a-table中实现清空选中的数据
2019/11/07 Javascript
小程序中的箭头函数的具体使用
2020/06/19 Javascript
浅析JavaScript 函数防抖和节流
2020/07/13 Javascript
浅谈vant组件Picker 选择器选单选问题
2020/11/04 Javascript
[09:43]DOTA2每周TOP10 精彩击杀集锦vol.5
2014/06/25 DOTA
[01:14:35]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第一局
2016/02/26 DOTA
python中PIL安装简单教程
2016/04/21 Python
Python爬虫框架Scrapy实例代码
2018/03/04 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
Python统计时间内的并发数代码实例
2019/12/28 Python
pandas 强制类型转换 df.astype实例
2020/04/09 Python
python中封包建立过程实例
2021/02/18 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
台湾良兴购物网:EcLife
2019/12/01 全球购物
迪卡侬比利时官网:Decathlon比利时
2019/12/28 全球购物
世界上最大的艺术社区:SAA
2020/12/30 全球购物
华为慧通面试题
2012/09/11 面试题
个人实用简单的自我评价
2013/10/19 职场文书
酒店优秀员工事迹材料
2014/06/02 职场文书
简单租房协议书范本
2014/08/20 职场文书
2014年保卫工作总结
2014/12/05 职场文书
2014年图书馆个人工作总结
2014/12/18 职场文书
会议邀请函
2015/01/30 职场文书
用Python可视化新冠疫情数据
2022/01/18 Python