最近想在Centos7下使用Python3系列软件,其中在安装Tkinter步骤上折腾了好几天才终于弄好。这里记录几个带坑的地方,以免忘记。
首先就是Centos7自带了Python2的版本,网上教程都是建议保留自带版本,因为系统的一些软件会对该版本有依赖。所以就在保留的基础上安装了。这里就是各种版本理不清的源头了。
之后遇到的问题就是安装Tkinter模块了。网上说Ubuntu下直接就sudo apt install python-tk 或 sudo apt install python3-tk。也有说用pip来安装。那我的Centos7下不就是yum -y install python3-tk了?的确也看到有帖子是这么说的,但运行后一直是提示在源库中找不到对应的python3-tk。更换了几个源也找不到。但是直接使用yum -y install tkinter是可以的。于是就这样安装了,但感觉这样安装是安在了系统里了。
至于版本问题网上推荐用virtualenv工具来提供一个纯净的环境,因为各种版本间的关系理不清会很容易安装的模块被错误的调用。virtualenv可以参考。
用了virtualenv后自己安装的版本的确可以用到tkinter模块了。但还有错误提示是说找不到_tkinter。(错误提示当时没有记录下来)貌似这和没有tkinter还不是一个错误原因。这里参考文章。当然采用完这个方法之后还出现的一个问题是tk/tcl的版本不符的情况。这个问题的原因是因为前边用yum -y install tkinter 时其实安装了三个文件:tkinter、tcl和tk。后来自己又安装了个版本不同的tcl和tk,就导致了冲突。我没理清这之间怎么调用的,因为好像删除自己安装的tcl和tk也会有错误,所以只能再去安装一个和用yum安装的版本一致的才完成。