python - 我可以在一个 file.py 中导入 matplotlib.pyplot 但我无法在 django 应用程序的 view.py 中导入它
问题描述
我有 plot_file.py 有:
import matplotlib.pyplot as plt
def plot_graph():
squares = [1, 4, 9, 16, 25]
plt.plot(squares)
plt.savefig('static/img/sqaure_plot.png', bbox_inches='tight')
当我运行它时,它可以正常工作并正确保存文件。我正在尝试在 Django 的同一应用程序文件夹中的 views.py 中导入此函数。
当我将 import 语句放在 views.py 中时
from myapp.plot_file import plot_graph as pg
并保存它并尝试从我得到的终端启动 runserver:
ModuleNotFoundError: No module named 'matplotlib'
两个文件都在同一个文件夹中
myapp/plot_file.py
myapp/views.py
我已经使用 pip3 install matplotlib 安装了 matplotlib。我正在使用稍后安装 python3 的 MacOS。我正在使用在 Python3 上编译的 Sublime Text。
我不明白如何在 plot_file.py 而不是在 views.py 文件中导入 matplotlib?
初学者在这里。先感谢您。
解决方案
from plot_file.py import plot_graph as pg
应该
from plot_file import plot_graph as pg
或者
import plot_file.plot_graph as pg
并确保您的__init__.py
文件myapp
夹中有文件
推荐阅读
- c++ - 如何在函数中初始化矩阵并在 C++ 中有效地返回它?
- sql - 提高批量更新查询性能
- javascript - Vue.js 异步组件,命名为 import
- aws-lambda - AWS Lambda 技能处理程序在数据库获取完成之前返回
- python - PyTorch:cpp_extension.py:184:用户警告:检查编译器版本时出错
- python - 是否有可能使用 python 从字符串中提取某些 html 标签
- django - 在 django 页面中注销后,我进入一个无法登录的页面
- java - Apache CXF 日志拦截器未在 Spring Boot 应用程序上的 Weblogic 上触发
- python - 从 2D 数组创建矢量化 numpy.meshgrid 以创建 3D 网格
- c# - 在 WPF 中声明图像来源的问题