Python使用dash导入dcc触发ImportError循环导入报错如何解决?
报错原因与修复方案
这个ImportError常见触发原因和对应修复方法如下:
- 触发原因1:本地脚本文件命名和第三方库名冲突
如果你当前运行的Python脚本命名为dash.py,Python导入模块时会优先读取同目录下的这个自定义文件,而非官方安装的dash库,就会触发循环导入报错。
修复方法:- 将你的脚本重命名为其他名称,比如
dash_demo.py - 删除同目录下自动生成的
dash.pyc缓存文件,以及__pycache__文件夹内的对应缓存
- 将你的脚本重命名为其他名称,比如
- 触发原因2:dash版本低于2.0
from dash import dcc、from dash import html的导入写法是dash 2.0及以上版本才支持的新语法,如果你安装的是1.x的旧版本dash,就会出现导入失败问题。
修复方法:- 执行命令查看当前dash版本:
pip show dash - 如果版本号低于2.0,执行升级命令:
pip install --upgrade dash
如果你暂时不想升级dash版本,可以将导入语句替换为旧版本兼容写法:
import dash_core_components as dcc import dash_html_components as html from dash.dependencies import Input, Output import plotly.io as pio - 执行命令查看当前dash版本:
- 触发原因3:运行环境和安装dash的环境不匹配
如果你使用了虚拟环境/conda环境,可能出现dash安装在A环境,但你运行代码用的是B环境,导致B环境没有安装对应版本的dash。
修复方法:在你运行代码的终端对应环境中,执行pip install dash plotly重新安装匹配版本的依赖即可。
内容的提问来源于stack exchange,提问作者Eva
相关产品推荐
相关产品推荐

