在亚马逊ec2 centOS上没有名为tkinter的模块

Viv*_*ani 2 python linux centos matplotlib amazon-ec2

我有一个python代码,具有以下导入:

from mpl_toolkits.mplot3d import Axes3D import matplotlib.pyplot as plt

它内部调用tkinter.我正在使用带有CentOS的Amazon EC2服务器.我无法安装tkinter,因为操作系统是无头的(没有GUI).这个链接似乎是解决方案,但它适用于Debian OS,不适用于CentOS.

我尝试安装桌面引用此链接,但这也不起作用.它发出警告"警告:组GNOME桌面不存在." 当我跑命令yum -y groups install "GNOME Desktop"

Imp*_*est 7

假设您根本不需要GUI,但让matplotlib在您的服务器上生成图像,以下内容可能有所帮助:

使用没有交互元素的后端不应该要求tkinter存在.

文档:

有两种类型的后端:用户界面后端和硬拷贝后端来制作图像文件(PNG,SVG,PDF,PS;也称为"非交互式后端").

设置后端的两种方法(也取自上面的链接):

  1. matplotlibrc文件中的backend参数(请参阅自定义matplotlib):

    backend : Agg  
    
    Run Code Online (Sandbox Code Playgroud)
  2. 在脚本里面

    import matplotlib
    matplotlib.use('Agg')  
    
    Run Code Online (Sandbox Code Playgroud)

    如果使用该use()函数,则必须在导入matplotlib.pyplot之前完成此操作.

可能的非交互式后端:

在此输入图像描述