Centos7下安装Python3.x替代原生Python2.x
出处:Centos7下安装Python3.x替代原生Python2.x
原答案有些许错误,踩坑之后记录一下。
一、下载
1、编译环境
确认编译环境,以免安装出错。
yum group install 'Development Tools'
yum -y install bzip2-devel sqlite-devel openssl-devel readline-devel xz-devel xz-devel tk-devel gdbm-devel
安装gcc依赖: yum -y install make gcc gcc-c++
2、下载对应的Python3.x压缩包
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz
二、安装
1.编译
自行编译安装Linux软件过程中的三步:
./configure(配置) --prefix=自定义文件安装位置(建议设置为 /usr/local/python3) #生成 makefile 文件,为下一步编译做准备。
make(编译) && make install(安装) #make 会在当前目录下搜索 makefile 文件,makefile里面记录了源码如何编译的详细信息。
命令如下:
tar -zxvf Python-3.6.5.tgz
cd ./Python-3.6.5
./configure --prefix=/usr/local/python3
(如果需要发布版,则配置时要开优化,编译较慢./configure --enable-optimizations)
make -j 4
// 注意: 源码编译安装后不好卸载,没有make uninstall这种命令,暂时没找到好的方案,有知道的可以留言哈。
make install
卸载编译安装(make install)的软件:
1. make uninstall
2.make distclean #除了清除可执行文件和目标文件外,把configure所产生的Makefile也清除掉。
3.删除安装软件的目录
2、更换系统默认的Python版本
1.备份或删除Python2.x
mv /usr/bin/python /usr/bin/python2.7
2.新建指向新版本的Python3.x和pip3的软连接
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
3.查看版本
python -V
pip -V
三、更新yum
1.编辑yum文件
vi /usr/bin/yum
修改头标识,将/usr/bin/python 改为自己备份的python.bak,或者直接python2.7这和备份指向同一个。
2.开了/usr/libexec/urlgrabber-ext-down看了下,发现他也使用了/usr/bin/python,于是跟前面一样,改为2.7,完成。
升级后 还有一个问题,gnome-tweak-tool 也就是优化工具打不开
vi /usr/bin/gnome-tweak-tool
解决办法: gnome-tweak-tool 文件 #!/usr/bin/python换成 #!/usr/bin/python2.7 就可以了
yum-config-manager 文件出错
解决办法同上: #!/usr/bin/python换成 #!/usr/bin/python2.7 就可以了
参考链接:Centos安装python3并使用Nginx+Gunicorn+virtualenv+sup... - 简书