我正在尝试建立一个简单的应用程序,其中用户以excel格式下载文件。为此,我使用了tkinter,因此当用户按下按钮时,它会打开窗口以选择保存文件的位置。这在本地运行文件时会产生奇迹。当我尝试在CentOs服务器中托管我的应用程序时,问题开始了,因为我在应用程序内部显示以下错误:
TclError: no display name and no $DISPLAY environment variable
该应用程序是使用streamlit开发的,但是考虑到该问题仅在我使用其他操作系统时才会发生,因此我不确定此框架是不是原因。无论如何,由于我在该领域和tkinter上的知识非常有限,因此我也在相应的论坛中发布了这个问题。
因此,这是一个重现我得到的错误的最小工作示例:
import tkinter
import streamlit as st
def main():
st.write(tkinter.TkVersion)
root = tkinter.Tk()
if __name__ == '__main__':
main()
如果我在CentOS中运行该代码,这就是我得到的:
我已经在线搜索并找到了this和this,但是不仅更新代码访问CentOS服务器后我没有使用ssh,而且我也没有使用matplotlib。
Python版本:3.6.8 流式版本:0.58 tkinter版本:8.5
对于解决此错误的任何帮助,我们将不胜感激。如果您有任何疑问,请询问。