Python docker/matplotlib:运行时错误:显示变量无效
我尝试了很多解决方法,但没有一个奏效 我尝试了Python docker/matplotlib:运行时错误:显示变量无效,python,django,matplotlib,docker,Python,Django,Matplotlib,Docker,我尝试了很多解决方法,但没有一个奏效 我尝试了echo$DISPLAY不工作 错误消息: 环境: 请求方法:获取请求URL: 回溯: 文件 “/opt/conda/lib/python2.7/site packages/django/core/handlers/base.py” 在得到答复时 149response=self.process\u异常\u由\u中间件(e,请求) 文件 “/opt/conda/lib/python2.7/site packages/django/core/hand
echo$DISPLAY
不工作
错误消息:
环境:
请求方法:获取请求URL:
回溯:
文件
“/opt/conda/lib/python2.7/site packages/django/core/handlers/base.py”
在得到答复时
149response=self.process\u异常\u由\u中间件(e,请求)
文件
“/opt/conda/lib/python2.7/site packages/django/core/handlers/base.py”
在得到答复时
147响应=包装的回调(请求,*回调参数,**回调参数)
msa_结果中的文件“/code/fileUpload_app/views.py”
174结果1=生成历史(db,**处理记录)
生成历史记录中的文件“/code/fileUpload\u app/post\u processing.py”
182图1=plt.图()
中的文件“/opt/conda/lib/python2.7/site packages/matplotlib/pyplot.py”
图形
527. **kwargs)
文件
“/opt/conda/lib/python2.7/site packages/matplotlib/backends/backend_qt4agg.py”
在new_figure_manager中
46返回新的\u图形\u管理器\u给定的\u图形(num,thisFig)
文件
“/opt/conda/lib/python2.7/site packages/matplotlib/backends/backend_qt4agg.py”
在新的\u图\u管理器\u给定的\u图中
53画布=图CanvasQTagg(图)
文件
“/opt/conda/lib/python2.7/site packages/matplotlib/backends/backend_qt4agg.py”
在init中
76图CANVASQT.init(自我,图)
文件
“/opt/conda/lib/python2.7/site packages/matplotlib/backends/backend_qt4.py”
在init中
68. _创建_qApp()
文件
“/opt/conda/lib/python2.7/site packages/matplotlib/backends/backend_qt5.py”
在创建qApp中
138raise RUNTIMERROR('显示变量无效')
异常类型:在/upload/msa_result/1处出现运行时错误/异常值:
无效的显示变量
我正在使用docker托管我的web项目
我的代码包括:
import matplotlib as mpl
mpl.use('Agg')
import matplotlib.pyplot as plt
def generate_hist(db, **kwargs):
fig1 = plt.figure()
hist = mat2[0, 0:pin_num]
fig1 = plt.hist(hist)
plt.savefig("fileUpload_app/static/img/result/hist.jpg")
原因是我在导入matplotlib之前导入seaborn。这导致matplotlib未在正确的位置运行。从这里开始: 我在一台远程机器上使用了它,带有ssh和screen,没有X转发。你说的“echo$DISPLAY”不工作是什么意思?
import matplotlib.pyplot as plt
plt.switch_backend('agg')