Linux升级Python提示Tkinter模块找不到解决

一、安装tkinter

在Linux中python默认是不安装Tkinter模块,

[[email protected]193 ~]# python
Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import Tkinter
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named Tkinter
>>>

我们安装Tkinter模块

1 [[email protected]193 ~]# yum -y install tkinter
2 ...
3 [[email protected]193 ~]# python
4 Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18)
5 [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2
6 Type "help", "copyright", "credits" or "license" for more information.
7 >>> import Tkinter
8 >>>

二、升级Python

Linux的Python版本默认都不叫低

查看Python版本

1 [[email protected]193 ~]# python -V
2 Python 2.6.6

DOWN新版本

1 [[email protected]193 ~]# wget http://www.python.org/ftp/python/2.7.4/Python-2.7.4.tgz

解压安装

1 [[email protected]193 ~]# tar -xf Python-2.7.4.tgz
2 [[email protected]193 ~]# cd Python-2.7.4
3 [[email protected]193 Python-2.7.4]# ./configure
4 ...
5 [[email protected]193 Python-2.7.4]# make
6 ...
7 [[email protected]193 Python-2.7.4]# make install
8 ...

看看新版本Python是否可以使用Tkinter?

[[email protected] Python-2.7.4]# ./python

Python 2.7.4 (default, Apr 12 2013, 08:03:09)

[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import Tkinter      

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

  File "/root/Python-2.7.4/Lib/lib-tk/Tkinter.py", line 39, in <module>

    import _tkinter # If this fails your Python may not be configured for Tk

ImportError: No module named _tkinter

>>>

提示找不到tkinter模块?看看旧版的是不是正常

[email protected]193 Python-2.7.4]# find /usr -name *tkinter.so
/usr/lib64/python2.6/lib-dynload/_tkinter.so

找到一个,在2.6旧版本的目录下,估计是因为新版本库指向问题。于是认真读了README说明。重新配置安装

三、正确安装新版Python

首先修改Setup.dist文件

_tkinter _tkinter.c tkappinit.c -DWITH_APPINIT -L/usr/local/lib -I/usr/local/include -ltk8.5 -ltcl8.5 -lX11

以上第四行

-ltk8.5 -ltcl8.5 默认是 8.2 ,请你系统实际tcl/tk版本修改

[[email protected]193 Python-2.7.4]# rpm -qa | grep ^tk
tk-8.5.7-5.el6.x86_64
tkinter-2.6.6-36.el6.x86_64
[[email protected]-193 Python-2.7.4]# rpm -qa | grep ^tcl
tcl-8.5.7-6.el6.x86_64

我系统中装的是8.5,所以这里我改成了8.5

保存退出

安装tck-devel、tk-devel


1

[[email protected] Python-2.7.4]# yum -y install tcl-devel tk-devel

开始配置安装


1

2

3

4

5

6

7

[[email protected] Python-2.7.4]# ldconfig

[[email protected] Python-2.7.4]# ./configure

...

[[email protected] Python-2.7.4]# make

...

[[email protected] Python-2.7.4]# make install

...

看下新版Python是否可以使用tkinter模块


1

2

3

4

5

6

[[email protected] Python-2.7.4]# ./python

Python 2.7.4 (default, Apr 12 2013, 08:49:11)

[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import Tkinter

>>>

已经没问题,旧版再看看


1

2

3

4

5

6

[[email protected] Python-2.7.4]# /usr/bin/python2.6

Python 2.6.6 (r266:84292, Feb 22 2013, 00:00:18)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import Tkinter

>>>

也没问题

如果直接敲入python -V查看版本是不是最新的,如果不是可以这么干:

which出python命令路径


1

2

[[email protected] Python-2.7.4]# which python

/usr/local/bin/python

cp 过去


1

[[email protected] Python-2.7.4]# cp python /usr/local/bin/python

四、升级Python引起yum版本无法使用的问题解决

不少童鞋安装后就

cp python /usr/bin/python

导致yum时就提示


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

[[email protected] ~]# yum

There was a problem importing one of the Python modules

required to run yum. The error leading to this problem was:

   No module named yum

Please install a package which provides this module, or

verify that the module is installed correctly.

It‘s possible that the above module doesn‘t match the

current version of Python, which is:

2.7.4 (default, Apr  9 2013, 17:12:56)

[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)]

If you cannot solve this problem yourself, please go to

the yum faq at:

  http://yum.baseurl.org/wiki/Faq

  

[[email protected] ~]#

因为yum头部默认制定python脚本的路径就是

#! /usr/bin/python

你把旧版的python替换后就是用不了,不知道为何新版Python不能被yum识别,目前唯一最好解决的方法就是修改yum头部声明

改成

#! /usr/bin/python2.6

即可,这里的python2.6是我centos默认版本,大家的默认版本是多少请按实际情况修改即可

Linux升级Python提示Tkinter模块找不到解决

时间: 2024-08-06 11:54:59

Linux升级Python提示Tkinter模块找不到解决的相关文章

Python升级提示Tkinter模块找不到的解决方法

一.安装tkinter在Linux中python默认是不安装Tkinter模块,复制代码 代码如下:[[email protected] ~]# pythonPython 2.6.6 (r266:84292, Feb 22 2013, 00:00:18) [GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2Type "help", "copyright", "credits" or "lice

离线环境升级python及安装模块

之前介绍的的Zabbix脚本是用python3写的,但是centos7默认安装的是python2.7.5,所以我们需要升级到python3. 因为服务器是内网环境,不能访问外网,所以本文就对离线环境下(无网络)升级python及安装模块进行介绍. Centos7升级python3 安装python3 先介绍参考文档,centos7将python默认版本升级. 1. 下载python-3.7.1安装包并使用xFTP上传到服务器. 2. 解压,tar -zxvf Python-3.7.1.tgz 3

linux升级python到2.7

linux升级python到2.7 一.下载python2.7安装包 # wget https://www.python.org/ftp/python/2.7.12/Python-2.7.12.tgz 二.解压 # tar -zxf Python-2.7.12.tgz # cd Python-2.7.12 三.新建安装目录,防止覆盖旧版本 # mkdir /usr/local/python27 四.安装 # cd Python-2.7.12 # ./configure --prefix=/usr

python,基于tkinter模块编写的根据经纬度计算两点间距离的应用程序

python的tkinter模块是用于编写GUI窗口程序的模块,使用起来非常方便,功能强大.基于tkinter模块,开发了一个输入两点经纬度计算输出距离(包括公里数和孤度数)的小程序,主要应用于地震台站地震报告编写.下面这段代码可以在python3.8上直接运行. import tkinter as tk import tkinter.messagebox from math import radians, cos, sin, asin, sqrt #定义由输入文本框获得台站及震源经纬度,计算距

python安装markupsafe模块时卡死的解决办法

起因: 升级OS X从10.8到10.9,会发现在安装python的markupsafe模块时一直卡住. 当时的机器环境是: OSX 10.9, XCode 4.6.2, Python 2.7.6, Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn) 界面一直停留在下面的情况 mbp:MarkupSafe-0.23 $ python setup.py install running install running bdis

LInux升级Python版本2.7.11所遇问题汇总

首先请原谅我使用校园网络,基本上打不开谷歌,网络搜取得帮助均来自度娘. 对于我这个linux新手 IT 新手来说,自己升级点东西好担心,万一出错,可能都要重来.... 参照度娘内容和自己摸索,今天晚上的升级以成功结束 哈哈哈 一.我需要把升级Linux里Python版本为2.7.11,度娘一艘,都是各种直接弄好的下载链接,发现了各种复制来复制去的内容,找来找去没找到2.7.11,所以转到了官网www.python.org 首页就可以看到download里最新的2.7.11,点进去,需要的就是最上

Python之Tkinter模块学习

本文转载自:http://www.cnblogs.com/kaituorensheng/p/3287652.html Tkinter模块("Tk 接口")是Python的标准Tk GUI工具包的接口 作为实践, 用Tkinter做了个ascii码转化查询表,本文从四点介绍 产品介绍 设计规划 相关知识 源码附件 1. 产品介绍 界面 功能 通过输入字符或数字查询对应的信息 通过选择列表中的信息查询对应的信息 2. 设计规划 规划图 3. 相关知识 首先看怎么产生第一个窗口 from T

linux下python调用c模块

在C调用Python模块时需要初始化Python解释器,导入模块等,但Python调用C模块却比较简单,下面还是以helloWorld.c 和 main.py 做一说明:   (1)编写C代码,hello.c代码很简单,只是输出“Hello World!”:         (2)将编写的C代码编译成动态链接库的形式,具体命令:   此时在当前目录下就生成了libhello.so 的动态链接库:         (3)在main.py中导入动态链接库,并调用C函数 这里的ctypes是Pytho

linux升级python版本至3

参考网址: http://blog.csdn.net/liang19890820/article/details/51079633 感谢~ linux:CentOS 7.2.1511 python:2.7 操作: ①wget https://www.python.org/ftp/python/3.5.5/Python-3.5.5.tar.xz下载 ②tar xvJf Python-3.5.5.tar.xz解压 ③cd Python-3.5.5切换目录 ④./configure编译 ⑤make &