CentOS Python升级的若干坑
CentOS自带Python版本为2.7,升级为3.0以上版本时:
最基础的升级
wget http://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz //wget获取安装包
tar -xvzf Python-3.6.2.tgz //解压安装包
cd Python-3.2.0 //进入解压缩后的文件夹
mkdir /usr/local/python3 //在编译前先在/usr/local建一个文件夹python3(作为python的安装路径,以免覆盖老的版本)
开始编译安装
./configure --prefix=/usr/local/python3
make
make install
此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字
mv /usr/bin/python /usr/bin/python_old2
再建立新版本python的链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python
基础升级完成
运行时会出现的可能错误
1、python升级后yum不能正常用了
修改/usr/bin/yum的第一行为:
#!/usr/bin/python_old2
2、运行pip3或request是报错:Can’t connect to HTTPS URL because the SSL module is not available
CentOS下徐安装 openssl-devel
yum install openssl-devel
重新安装python
注意在././configure时修改后面的参数
./configure --with-ssl --prefix=/usr/local/python3 --enable-shared --enable-loadable-sqlite-extensions
继续make,make install
make
make install
3、运行脚本时报错:error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory
这在错误原因,是centos系统默认加载/usr/lib,/lib下面库文件,python默认安装到非此类文件夹。不过可以通过添加库配置信息
cd /etc/ld.so.conf.d
新建conf文件
vim python3.conf
在python3.conf中编辑 添加库文件路径(python的安装路径下的lib文件夹,如果之前操作和本片相同,下一段代码相同)
/usr/local/python3/lib
退出并保存文件
运行ldconfig
ldconfig