Django中已安装plotly仍报ModuleNotFoundError问题求助
问题描述
已在Django项目中成功安装plotly 5.13.1版本(通过pip list可查),但运行代码时持续出现ModuleNotFoundError: No module named 'plotly'错误。
报错信息
Traceback (most recent call last): File "c:\Users\user\source\VVV\V_Project\mysite\Plotly.py", line 3, in <module> from plotly.offline import plot ModuleNotFoundError: No module named 'plotly'
代码示例
from django.shortcuts import render from plotly.offline import plot import plotly.graph_objs as go def index(request): x_data = [0,1,2,3] y_data = [x**2 for x in x_data] plot_div = plot([Scatter(x=x_data, y=y_data, mode='lines', name='test', opacity=0.8, marker_color='green')], output_type='div') return render(request, "plotly.html", context={'plot_div': plot_div})
排查与解决
- 文件名冲突:你的脚本命名为
Plotly.py,会和第三方库plotly的包名冲突。Python导入模块时优先搜索当前目录文件,导致实际导入的是自己写的Plotly.py而非安装的库。将脚本重命名为plotly_view.py这类不冲突的名称即可解决。 - 虚拟环境不一致:确认运行代码的Python环境和安装plotly的环境为同一个。可在脚本开头添加以下代码查看当前环境的包路径:
对比import sys print(sys.path)pip list所在环境的包安装路径,若不一致则切换到正确虚拟环境重新运行。 - 安装路径验证:若虚拟环境无问题,运行
pip show plotly查看安装路径,确认该路径在sys.path输出的列表中。若不在,需重新在当前环境安装plotly。 - 代码补充修正:代码中使用的
Scatter未导入,需改为go.Scatter或提前添加from plotly.graph_objs import Scatter,这虽不是模块找不到的原因,但会引发后续运行错误。
内容的提问来源于stack exchange,提问作者CanaryTheBird
相关产品推荐
相关产品推荐

