【发布时间】:2017-03-26 23:39:36
【问题描述】:
我有一个运行 Bitnami-Django Ubuntu 14.04 LTS 的无 GUI 云服务器,旨在为用户检索和绘制数据,但它无法生成图表。需要明确的是,我只关心图形图像的生成和保存,而不是用户可以选择单击按钮来保存图像。这样的功能对于这样的服务器将毫无意义。
在我的普通 Ubuntu Linux (Mate) 14.04 LTS 上,脚本运行良好,从 GUI 窗口中的相关数据生成 matplotlib.pyplot,具有保存、缩放、旋转和其他功能;但是在云服务器上我得到了这个错误,即使我不尝试调用 show() 函数:
bitnami@StockPredix:/opt/bitnami/apps/django/django_projects/Project$ python api-test_volume.py
Traceback (most recent call last):
File "api-test_volume.py", line 8, in <module>
import matplotlib.pyplot as plt
File "/opt/bitnami/python/lib/python2.7/site-packages/matplotlib/pyplot.py", line 114, in <module>
_backend_mod, new_figure_manager, draw_if_interactive, _show = pylab_setup()
File "/opt/bitnami/python/lib/python2.7/site-packages/matplotlib/backends/__init__.py", line 32, in pylab_setup
globals(),locals(),[backend_name],0)
File "/opt/bitnami/python/lib/python2.7/site-packages/matplotlib/backends/backend_tkagg.py", line 6, in <module>
from matplotlib.externals.six.moves import tkinter as Tk
File "/opt/bitnami/python/lib/python2.7/site-packages/matplotlib/externals/six.py", line 199, in load_module
mod = mod._resolve()
File "/opt/bitnami/python/lib/python2.7/site-packages/matplotlib/externals/six.py", line 113, in _resolve
return _import_module(self.mod)
File "/opt/bitnami/python/lib/python2.7/site-packages/matplotlib/externals/six.py", line 80, in _import_module
__import__(name)
File "/opt/bitnami/python/lib/python2.7/lib-tk/Tkinter.py", line 39, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ImportError: No module named _tkinter
即使在我安装了其他依赖项并尝试安装 tk-dev、tcl-dev 等之后,这种情况仍在继续。我想我需要一个 matplotlib 的替代品来生成图表,除非你们中的某个人知道一个聪明的解决方法。提前感谢您的帮助。
(快速)编辑:我知道并尝试了Save plot to image file instead of displaying it using Matplotlib 中的修复,但在我的云服务器上,这首先是与 GUI 的依赖关系中断的问题,而不是仅仅抑制 GUI。
【问题讨论】:
标签: python apache matplotlib server