在 Amazon Linux 上安装 Tkinter

Posted

技术标签:

【中文标题】在 Amazon Linux 上安装 Tkinter【英文标题】:Install Tkinter On Amazon Linux 【发布时间】:2017-04-02 04:57:15 【问题描述】:

我正在使用 Amazon Linux ec2 机器。当我尝试在 virtualenv 中运行 Python 脚本时,我收到以下消息:

File "/home/sp/Envs/crispor/local/lib/python2.7/dist-packages/matplotlib/externals/six.py", line 80, in _import_module
__import__(name)
ImportError: No module named Tkinter

据我了解,Tkinter 应该是 Python 安装的一部分。但不知何故,它不是。这些不起作用 -

sudo yum install python-tk
sudo yum install tkinter

如何安装 Tkinter?还是我应该这样做,因为它应该是 Python 安装的一部分?

【问题讨论】:

据我所知,Amazon Linux ec2 就像 headless 机器一样工作——这意味着没有监视器——(也没有图形环境),所以它不能显示任何 GUI——甚至是 Tkinter。 确实如此。我也不想显示任何 GUI。但是项目中的模块之一是这样做的:import matplotlib.pylab as plt。这级联到导入 Tkinter。 我使用来自 EC2 实例的 X 转发,因此 Tkinter 可能很有用 【参考方案1】:

您不想(并且可能不能)在该服务器上安装 tkinter。将 matplotlib 配置为使用非交互式后端。

把这个放到your matplotlibrc file:

backend : agg

更新这对于 matplotlib >= 3.0.0 来说不是必需的,根据documentation "[h]eadless linux 服务器(由未定义的 DISPLAY 环境识别)将不会选择GUI 后端”。

【讨论】:

文件位置:/usr/local/lib64/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc 但是,如果您更新 matplotlib,您将丢失您的编辑。 -- 有制作文件副本的说明,这样您就不会丢失所做的编辑。【参考方案2】:

添加到@Goyo。您也可以在代码中将模式切换为 agg。

import matplotlib
matplotlib.use('agg',warn=False, force=True)
from matplotlib import pyplot as plt
print "Switched to:",matplotlib.get_backend()

【讨论】:

【参考方案3】:

能否提供python版本信息?

1- 尝试安装这个:

yum install python-tools

此软件包使用 tkinder,因此可以提供帮助。

2-如果你使用python3:

sudo yum install python3-tkinter

3- 下载并安装软件包: http://rpm.pbone.net/index.php3?stat=3&search=python27-tkinter&srodzaj=3&dist[]=79

【讨论】:

我试过sudo yum install python-tools。它告诉我“没有可用的软件包 python-tools” 试试:yum install python-setuptools python-setuptools 已经安装在机器上。 Package python26-setuptools-12.2-1.32.amzn1.noarch already installed and latest version虽然virtualenv里面的Python是Python2.7

以上是关于在 Amazon Linux 上安装 Tkinter的主要内容,如果未能解决你的问题,请参考以下文章

在Amazon Linux上安装mono时出错

如何在运行 nginx 的 Amazon Linux 上安装 phpMyAdmin

在 Amazon AMI Linux 上安装 GVIM

在Amazon Linux上安装Tkinter

text 教程:在Amazon Linux 2 AIM上安装LAMP Web服务器

pg_dump:如何在 Amazon Linux 上安装 PostgreSQL 9.5.2?