CentOS 7安装Python3.5,并与Python2.7兼容并存
CentOS7默认安装了python2.7.5,当需要使用python3的时候,可以手动下载Python源码后编译安装。
1.安装python3.5可能使用的依赖
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
2.下载python
wget "https://www.python.org/ftp/python/3.4.3/Python-3.4.3.tgz"
3.解压下载好的压缩包
tar -zxvf Python-3.4.2.tgz
4.配置编译
sudo mkdir /usr/local/python3
sudo ./configure --prefix=/usr/local/python3
sudo make
sudo make install
5.备份旧版本python,链接新版本python
在/usr/bin中有python、python2、python2.7三个文件依次指向后者
sudo mv python python.bak,
sudo ln -s /usr/local/python3/bin/python3 /usr/bin/python
6.修改yum配置文件
sudo vi /usr/bin/yum
将第一行指定的python版本改为python2.7(#!/usr/bin/python 改为 #!/usr/bin/python2.7)
7、安装遇到问题
etup.py寻找tcl.h和tk.h两个头文件,但是我用find / -name tcl.h在整个linux范围内都没有找到这个头文件。
所以我要安装tcl-devel和tk-devel才能有头文件,安装tcl/tk,只是把静态或者动态库考到lib目录下,只有tcl-devel,tk-devel才会把头文件放到/usr/include里边,而_tkinter要编译必须找到这些头文件。
python3.5.2安装tkinter
1、yum -y install tkinter tcl-devel tk-devel
2、vim ......./Python3.5.2/Modules/Setup.dist 中去掉如下行的注释
_tkinter _tkinter.c tkappinit.c -DWITH_APPINIT
-L/usr/local/lib
-I/usr/local/include
-ltk8.5 -ltcl8.5 #默认是8.2请你系统实际tcl/tk版本修改
-lX11
3、编译安装
./configure
#make && make install
rpm -qa | grep ^tk
rpm -qa | grep ^tcl
安装tck-devel、tk-devel
yum -y install tcl-devel tk-devel
yum groupinstall "Development tools"