一、背景
最近测试python的协程,发现需要3.4以上的版本,大部分Linux系统默认带的版本都是2.x的,故而需要安装新版本。
0、查看当前版本
python -V Python 2.7.5
二、编译安装
0、官网下载地址
进入python官网, 在Download tab中选择对应的OS, 然后选择最新的稳定版下载
注:官方还有一个ftp, 存放各个版本,很方便查看和下载,ftp地址。
1、下载源码包
wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz
2、编译安装
tar -zxvf Python-3.8.3.tgz cd Python-3.8.3 ./configure --prefix=/usr/local make && make install
注:默认安装路径也是/usr/local, 建议编译的时候带上,比较清晰。
3、查看安装版本
/usr/local/bin/python3 -V Python 3.8.3
4、设置别名
vim ~/.bashrc alias python3='/usr/local/bin/python3' source ~/.bashrc # 查看 pythonc -V Python 3.8.3
三、问题
编译过程中如果内存不足,gcc可能提示gcc: internal compiler error: Killed (program cc1)
解决办法是增加交互分区,具体操作参考知乎专栏。
增加swap分区前
free -m total used free shared buff/cache available Mem: 992 730 67 63 193 48 Swap: 0 0 0
增加swap分区后
free -m total used free shared buff/cache available Mem: 992 736 67 63 188 45 Swap: 1999 0 1999
四、总结
0、编译指定路径不要使用完整路径,例如–prefix=/usr/local/bin/python3,最终路径会是这样/usr/local/bin/python3/bin/python3
1、建议不要用python3覆盖python2,多个版本并存更清晰。
yum脚本使用的是python2, 修改了可能会对以下两个脚本有影响
/usr/bin/yum
/usr/libexec/urlgrabber-ext-down
head -n 3 /usr/bin/yum #!/usr/bin/python import sys try:
2、yum竟然使用python实现的。