解决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 相关文章推荐
wxPython中listbox用法实例详解
Jun 01 Python
Python用Pillow(PIL)进行简单的图像操作方法
Jul 07 Python
CentOS 6.5中安装Python 3.6.2的方法步骤
Dec 03 Python
Python温度转换实例分析
Jan 17 Python
PyQt5每天必学之带有标签的复选框
Apr 19 Python
Python贪心算法实例小结
Apr 22 Python
python调用xlsxwriter创建xlsx的方法
May 03 Python
基于tensorflow加载部分层的方法
Jul 26 Python
python 找出list中最大或者最小几个数的索引方法
Oct 30 Python
Python计算时间间隔(精确到微妙)的代码实例
Feb 26 Python
python opencv圆、椭圆与任意多边形的绘制实例详解
Feb 06 Python
Pycharm在指定目录下生成文件和删除文件的实现
Dec 28 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危险函数(disable_functions)
2012/02/23 PHP
php中使用session防止用户非法登录后台的方法
2015/01/27 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
PHP之图片上传类实例代码(加了缩略图)
2016/06/30 PHP
laravel邮件发送的实现代码示例
2020/01/31 PHP
详解阿里云视频直播PHP-SDK接入教程
2020/07/09 PHP
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
jquery中防刷IP流量软件影响统计的一点对策
2011/07/10 Javascript
jQuery列表拖动排列具体实现
2013/11/04 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
jQuery中toggleClass()方法用法实例
2015/01/05 Javascript
jQuery实现二级下拉菜单效果
2016/01/05 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
AngularJS实现使用路由切换视图的方法
2017/01/24 Javascript
jQuery实现简单日期格式化功能示例
2017/09/19 jQuery
JavaScript使用递归和循环实现阶乘的实例代码
2018/08/28 Javascript
微信小程序 自定义复选框实现代码实例
2019/09/04 Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
2020/08/18 Javascript
python使用xmlrpc实例讲解
2013/12/17 Python
python基础教程之lambda表达式使用方法
2014/02/12 Python
基于Python __dict__与dir()的区别详解
2017/10/30 Python
python爬虫爬取微博评论案例详解
2019/03/27 Python
python读取Excel表格文件的方法
2019/09/02 Python
Django项目基础配置和基本使用过程解析
2019/11/25 Python
什么是Python中的匿名函数
2020/06/02 Python
Python爬虫入门教程02之笔趣阁小说爬取
2021/01/24 Python
css3 盒模型以及box-sizing属性全面了解
2016/09/20 HTML / CSS
世界上最大的曲棍球商店:Pro Hockey Life
2017/10/30 全球购物
关于圣诞节的广播稿
2014/01/26 职场文书
优秀毕业生自荐信
2014/06/10 职场文书
求职教师自荐书
2014/06/19 职场文书
安全生产先进个人事迹材料
2014/12/30 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
大一学生个人总结
2015/02/15 职场文书
英语辞职信怎么写
2015/02/28 职场文书
Python基础之Socket通信原理
2021/04/22 Python