【问题标题】:No module named tkinter on amazon ec2 centOS亚马逊 ec2 centOS 上没有名为 tkinter 的模块
【发布时间】:2017-12-20 22:34:37
【问题描述】:

我有一个包含以下导入的 python 代码:

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

它在内部调用tkinter。我正在使用 装有 CentOS 的 Amazon EC2 服务器。我无法安装 tkinter,因为操作系统是无头的(没有 GUI)。 This link seems to be solution,但它适用于 Debian 操作系统,不适用于 CentOS。

我尝试安装参考this link 的桌面,但这也不起作用。它发出警告为“警告:组 GNOME 桌面不存在”。当我运行命令yum -y groups install "GNOME Desktop"

【问题讨论】:

    标签: python linux matplotlib amazon-ec2 centos


    【解决方案1】:

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

    使用没有交互元素的后端根本不需要 tkinter。

    来自documentation

    有两种类型的后端:用户界面后端 [...] 和用于制作图像文件的硬拷贝后端(PNG、SVG、PDF、PS;也称为“非交互式后端”)。

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

    1. 你的 matplotlibrc 文件中的 backend 参数(见Customizing matplotlib):

      backend : Agg  
      
    2. 脚本内部

      import matplotlib
      matplotlib.use('Agg')  
      

      如果你使用use()函数,这必须在导入matplotlib.pyplot之前完成。

    可能的非交互式后端:

    【讨论】:

      猜你喜欢
      • 2015-04-16
      • 1970-01-01
      • 2016-11-05
      • 2013-11-24
      • 1970-01-01
      • 2013-07-18
      • 1970-01-01
      • 2015-10-27
      • 1970-01-01
      相关资源
      最近更新 更多