python之ImportError:模块引入异常问题
摘要
为什么要写这篇文章?
我们在使用 pycharm 编程经常会遇到 ImportError:模块引入异常的情况;
原因:
模块文件不在运行的路径上,即PyCharm IDE支持文件跳转,但是当文件执行时,找不到模块。
就会抛出 ImportError;
解决方法
Step1:使用 sys.path.append 引入源路径
如果是在 Terminal 执行,通过 sys.path.append 添加源路径
在模块文件顶部,引入源目录,源路径下的所有模块文件都可以被不加前缀直接import
import os import sys BASE_PATH = os.path.split(os.path.dirname(os.path.abspath(__file__)))[0] if BASE_PATH not in sys.path: sys.path.append(BASE_PATH) # print(BASE_PATH) # 打印源路径
Step2:Pycharm IDE - Sources Root
如果使用 Pycharm IDE ,模块包下有多层目录,直接执行,可能就会抛出引入路径错误
(1)在pycharm中设置source路径
File–>setting–>project:项目名–>project structure
将放package的文件夹设置为source,这样import的模块类等,就是通过这些source文件夹作为根路径来查找,也就是在这些source文件夹中查找import的东西。
(2)清除缓存并重启
(3)设置源目录(注意设置的是哪个目录,不能选择项目根目录)
package 右键 -> Mark Directory as -> Sources Root
Step 3:unresolved reference
导入第三方模块时,比如:
from flask import Flask
此时的Flask 下方是有红色波浪线(如下图)的,我这里确定已经安装完毕,且 ctrl + 左键也无法跳转到声明定义的源码,虽然运行是不会报错的,但是在使用的是不会提示相关的关键方法
这个问题困扰了我很久,查了很多资料,最终找到了解决方法;
(1)在pycharm的 settings >> Editor >> File Types
(2)选择 Text 并将 File name patterns 列表(识别为文本的文件名/扩展名列表),删除 __init__.py
文件名
(3)删除所有的文件名,发现问题已经解决!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
- 解决python报错ImportError:urllib3 v2.0 only supports OpenSSL 1.1.1+
- python解决报错ImportError: Bad git executable.问题
- 关于Python ImportError: No module named 通用解决方法
- Python中ImportError错误的详细解决方法
- Windows环境下Python3.6.8 importError: DLLload failed:找不到指定的模块
- 详解python3中用HTMLTestRunner.py报ImportError: No module named ''StringIO''如何解决
- 从零学python系列之新版本导入httplib模块报ImportError解决方案
- Python报错ImportError: IProgress not found. Please update jupyter and ipywidgets解决
相关文章
一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系
这篇文章主要介绍了一文弄懂Pytorch的DataLoader, DataSet, Sampler之间的关系,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-07-07Python +Selenium解决图片验证码登录或注册问题(推荐)
这篇文章主要介绍了Python Selenium解决图片验证码登录或注册问题,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2020-02-02哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程
这篇文章主要介绍了哈工大自然语言处理工具箱之ltp在windows10下的安装使用教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-05-05
最新评论