解决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中元类用法实例
Oct 10 Python
python连接远程ftp服务器并列出目录下文件的方法
Apr 01 Python
Python ldap实现登录实例代码
Sep 30 Python
Python cookbook(字符串与文本)在字符串的开头或结尾处进行文本匹配操作
Apr 20 Python
Python使用progressbar模块实现的显示进度条功能
May 31 Python
Python Grid使用和布局详解
Jun 30 Python
python字典的遍历3种方法详解
Aug 10 Python
Django连接数据库并实现读写分离过程解析
Nov 13 Python
python使用多线程查询数据库的实现示例
Aug 17 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
Django中如何用xlwt生成表格的方法步骤
Jan 31 Python
Keras多线程机制与flask多线程冲突的解决方案
May 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 调用远程url的六种方法小结
2009/11/02 PHP
PHP源码分析之变量的存储过程分解
2014/07/03 PHP
在php和MySql中计算时间差的方法详解
2015/03/27 PHP
Laravel重写用户登录简单示例
2016/10/08 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
2018/03/02 PHP
PHP面向对象五大原则之接口隔离原则(ISP)详解
2018/04/04 PHP
ThinkPHP5.1验证码功能实现的示例代码
2020/06/08 PHP
javascript之锁定表格栏位
2007/06/29 Javascript
PHP 与 js的通信(via ajax,json)
2010/11/16 Javascript
减少访问DOM的次数提升javascript性能
2014/02/24 Javascript
使用canvas实现仿新浪微博头像截取上传功能
2015/09/02 Javascript
js获取鼠标位置实例详解
2015/12/09 Javascript
利用JavaScript阻止表单提交的两种方法
2016/08/11 Javascript
jQuery 检查某个元素在页面上是否存在实例代码
2016/10/27 Javascript
微信小程序 仿美团分类菜单 swiper分类菜单
2017/04/12 Javascript
JS实现判断有效的数独算法示例
2019/02/25 Javascript
JavaScript的级联函数用法简单示例【链式调用】
2019/03/26 Javascript
Python中装饰器的一个妙用
2015/02/08 Python
用Python编写简单的定时器的方法
2015/05/02 Python
python实现的希尔排序算法实例
2015/07/01 Python
TensorFlow实现Logistic回归
2018/09/07 Python
Python3多目标赋值及共享引用注意事项
2019/05/27 Python
新手入门Python编程的8个实用建议
2019/07/12 Python
tensorflow 分类损失函数使用小记
2020/02/18 Python
美国一家专业的太阳镜网上零售商:Solstice太阳镜
2016/07/25 全球购物
美国受信赖的教育产品供应商:Nest Learning
2018/06/14 全球购物
Expedia西班牙:预订酒店、机票、旅行和廉价度假套餐
2019/04/10 全球购物
shell程序中如何注释
2012/01/28 面试题
计算机专业个人求职自荐信
2013/09/21 职场文书
大学本科生的个人自我评价
2013/12/09 职场文书
家长会邀请书
2014/01/25 职场文书
元旦晚会邀请函
2014/01/27 职场文书
七一党建活动方案
2014/01/28 职场文书
幼儿园见习报告范文
2014/10/30 职场文书
抗洪救灾感谢信
2015/01/22 职场文书
信贷客户经理岗位职责
2015/04/09 职场文书