如何在centos中安装python3-tk?

时间:2016-11-14 12:08:58

标签: python matplotlib tkinter centos

我需要安装python3-tk才能使用matplotlib。

I have tried: 

(python_3.4_numerical) [lpuggini@machinelearn-1 ~]$ sudo yum install python3-tk
[sudo] password for lpuggini: 
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.clouvider.net
 * epel: epel.check-update.co.uk
 * extras: mirror.sov.uk.goscomb.net
 * updates: mirrors.clouvider.net
No package python3-tk available.
Error: Nothing to do
(python_3.4_numerical) [lpuggini@machinelearn-1 ~]$ 

但它不起作用。

我该如何解决?

编辑: 从pip安装不起作用:

(python_3.4_numerical) [lpuggini@machinelearn-1 ~]$ pip install pygtk
Collecting pygtk
  Using cached pygtk-2.24.0.tar.bz2
    Complete output from command python setup.py egg_info:
    ********************************************************************
    * Building PyGTK using distutils is only supported on windows. *
    * To build PyGTK in a supported way, read the INSTALL file.    *
    ********************************************************************

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-nzjsuhx3/pygtk/
(python_3.4_numerical) [lpuggini@machinelearn-1 ~]$ 

9 个答案:

答案 0 :(得分:12)

tkinter在coreos中以tkinter包的形式提供。您可以使用

进行安装
sudo yum install tkinter

完成后,您可以照常导入并使用它。

>>> import tkinter
>>> tkinter._test()

对于Python 3,您可以使用

进行安装
sudo yum install python3-tkinter

正如一些用户提到的那样,根据操作系统,它可以python36u-tkinterpython34-tkinter使用。

sudo yum install python34-tkinter
sudo yum install python36u-tkinter

答案 1 :(得分:4)

在Centos 7中,您可以使用:

yum install python36-tkinter

答案 2 :(得分:3)

我使用这两个命令100%

解决了同样的问题
sudo yum -y update
sudo yum -y install python36u-tkinter

答案 3 :(得分:2)

尝试以下命令。

sudo yum install python3-tkinter

现在在您的终端进行测试:

>>> import tkinter
>>> tkinter._test()

答案 4 :(得分:2)

我相信tk默认带有python。如果是这样,你有没有想重新安装你的python 3.4。 (我更喜欢ver3.5)。本website中提到了程序。

步骤:

  1. 下载python版本

    wget https://www.python.org/ftp/python/3.5.3/Python-3.5.3.tar.xz

  2. 如果您没有安装解码工具:sudo yum install xz-libs

  3. 解码xz编码xz -d Python-3.5.3.tar.xz
  4. 解压缩已解码的文件tar -xvf Python-3.5.3.tar
  5. 移动所需目录以安装python cd Python-3.5.3
  6. 配置python文件./configure
  7. 使用make
  8. 构建
  9. 使用make altinstall
  10. 安装
  11. 检查tkinter是否有效。应该弹出一个tk窗口。打开终端并键入以下内容:
  12. python3.5 import tkinter as tk root = tk.Tk()

    该网站还有其他安装setuptoolspip的说明,这些说明非常有用。

答案 5 :(得分:2)

我花了很多时间来解决这个问题,这是我的解决方案:

  1. yum -y install tkinter tcl-devel tk-devel

  2. 到你的python目录: vim ......./Python3.5.1/Modules/Setup.dist

  3. 从以下行中删除评论:

    _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
    
    -L/usr/local/lib \
    
    -I/usr/local/include \
    
    -ltk8.5 -ltcl8.5 \ # default is 8.2 and you should change it to the version you installed in step1
    
    -lX11
    

    3

    ./configure
    make && make install
    

    <强>结果:

    [root@localhost Python-3.5.1]# python3
    Python 3.5.1 (default, Jun 19 2017, 22:43:42) 
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import tkinter
    >>> 
    

答案 6 :(得分:2)

这取决于你的python版本。对于python 3.4,它是sudo yum install python34-tkinter

答案 7 :(得分:1)

或者,也许您正在使用software collections (SCL),然后安装适当的tkinter。

搜索tkinter: while(True): ret, frame = cap.read(0) frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) orb = cv2.ORB_create(nfeatures=500) kp1, des1 = orb.detectAndCompute(img1, None) kp2, des2 = orb.detectAndCompute(frame, None) matcher = cv2.DescriptorMatcher_create(cv2.DESCRIPTOR_MATCHER_BRUTEFORCE_HAMMING) matches = matcher.match(des1, des2, None) matches.sort(key=lambda x: x.distance, reverse=False) numGoodMatches = int(len(matches) * GOOD_MATCH_PERCENT) matches = matches[:numGoodMatches] points1 = np.zeros((len(matches), 2), dtype=np.float32) points2 = np.zeros((len(matches), 2), dtype=np.float32) for i, match in enumerate(matches): points1[i, :] = kp1[match.queryIdx].pt points2[i, :] = kp2[match.trainIdx].pt M, mask = cv2.findHomography(points1, points2, cv2.RANSAC) h, w = img1.shape[:2] pts = np.float32([[0, 0], [0, h - 1], [w - 1, h - 1], [w - 1, 0]]).reshape(-1, 1, 2) dst = cv2.perspectiveTransform(pts, M) pts = [np.int32(dst)] frame = cv2.polylines(frame, pts, True, (255,0,255), 1, cv2.LINE_AA)
安装适当的tkinter,例如 yum search tkinter

取决于用于python的存储库,您有不同的“默认” tkinter。

答案 8 :(得分:0)

我在这里尝试了所有其他解决方案,但没有一个对我有用。 经过一番研究,我找到了适合我的正确软件包。

sudo yum update
sudo yum install rh-python36-python-tkinter

如果您使用其他版本的python3,请尝试像我一样搜索您的软件包

sudo yum search tkinter

并查看适合您的版本的选项