python没有tkinter_Linux升级Python提示Tkinter模块找不到解决

本文详细介绍了如何在Linux环境中解决Python默认未安装Tkinter模块的问题,以及如何升级Python到新版本。过程中涉及到通过yum安装tkinter、手动编译安装Python 2.7.4以及解决因升级导致的yum命令无法使用的问题。最终成功使新旧版本Python都能正常使用Tkinter模块。
摘要由CSDN通过智能技术生成

一、安装tkinter

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

[root@li250-193 ~]# python

Python2.6.6 (r266:84292, Feb 22 2013, 00:00:18)

[GCC4.4.7 20120313 (Red Hat 4.4.7-3)] on linux2

Type"help", "copyright", "credits" or "license" formore information.>>>import Tkinter

Traceback (most recent call last):

File"", line 1, in ImportError: No module named Tkinter>>>

我们安装Tkinter模块

1 [root@li250-193 ~]# yum -y install tkinter2 ...3 [root@li250-193 ~]# python4 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 linux26 Type "help", "copyright", "credits" or "license" formore information.7 >>>import Tkinter8 >>>

二、升级Python

Linux的Python版本默认都不叫低

查看Python版本

1 [root@li250-193 ~]# python -V2 Python 2.6.6

DOWN新版本

1 [root@li250-193 ~]# wget http://www.python.org/ftp/python/2.7.4/Python-2.7.4.tgz

解压安装

1 [root@li250-193 ~]# tar -xf Python-2.7.4.tgz2 [root@li250-193 ~]# cd Python-2.7.4

3 [root@li250-193 Python-2.7.4]# ./configure4 ...5 [root@li250-193 Python-2.7.4]# make6 ...7 [root@li250-193 Python-2.7.4]# make install8 ...

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

[root@li250-193 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"", line 1,in

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

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

ImportError: No module named _tkinter

>>>

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

root@li250-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版本修改

[root@li250-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

[root@li250-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

[root@li250-193 Python-2.7.4]# yum -y install tcl-devel tk-devel

开始配置安装

1

2

3

4

5

6

7

[root@li250-193 Python-2.7.4]# ldconfig

[root@li250-193 Python-2.7.4]# ./configure

...

[root@li250-193 Python-2.7.4]# make

...

[root@li250-193 Python-2.7.4]# make install

...

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

1

2

3

4

5

6

[root@li250-193 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

[root@li250-193 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

[root@li250-193 Python-2.7.4]# which python

/usr/local/bin/python

cp 过去

1

[root@li250-193 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

[root@lee ~]# 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

Pleaseinstall a packagewhich 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

[root@lee ~]#

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

#! /usr/bin/python

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

改成

#! /usr/bin/python2.6

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值