环境:centos6.5
centos6.5 自带的 python 版本是 2.6.6,需要重新安装 2.7;
centos7 自带的 python 版本是 2.7.5
基本操作
在安装新版本之前,一定要先执行如下操作
yum install -y gcc make cmake zlib-devel bzip2-devel xz-libs wget openssl openssl-devel
如果你没有执行该操作就安装了,删掉重来,不听话后果自负
然后安装新版本
# 下载 python tar 包
# 解压
# cd 到解压目录
# ./configure --prefix=/usr/lib/python27 --enable-shared
# prefix 参数指定要将 python 安装到哪个目录
# enable-shared 是必须要写的,否则后面会遇到错误提示:Command failed with rc=65536
# make //编译你的源代码,并生成执行文件
# make install //把生成的执行文件拷贝到 linux 系统中必要的目录下,比如拷贝到 /usr/lib/bin 目录下,这里相当于创建 python 的快捷方式
然后,我们在 安装目录 /usr/lib/python27 的 bin 目录下就能看到 python 可执行文件,执行 python 【下面我把可执行文件叫做快捷方式,便于理解】
[root@hadoop10 distribute-0.7.3]# cd /usr/lib/python27
[root@hadoop10 python27]# ls
bin include lib share
[root@hadoop10 python27]# cd bin
[root@hadoop10 bin]# ls -l
total 56
...
lrwxrwxrwx. 1 root root 7 Oct 1 22:59 python -> python2
lrwxrwxrwx. 1 root root 9 Oct 1 22:59 python2 -> python2.7
-rwxr-xr-x. 1 root root 9744 Oct 1 22:57 python2.7
-rwxr-xr-x. 1 root root 1694 Oct 1 22:59 python2.7-config
...
[root@hadoop10 bin]# python
Python 2.7.12 (default, Oct 1 2019, 01:09:22)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
可以看到 版本是 2.7
如果不是我上述所说,说明你安装错误,重试。
但是我们在其他目录 执行 python,并不是 更新后的 2.7,而是之前的版本,我们还需做如下操作
rm /usr/bin/python # 删除老版本的快捷方式
ln -s /usr/lib/python27/bin/python /usr/bin/python # 把新版本的快捷方式链接过来
/usr/bin 下存放的是系统默认的 python,所以需要把 这个 python 链接到 新版 python 的快捷方式
此时随便在哪个目录执行 python,进入的都是 新版 python。
或许你还需要设置环境变量,这是额外的步骤,不属于 python 安装的范畴,不再赘述。
查看 python 可执行文件的位置
[root@hadoop10 ~]# which python
/usr/bin/python
异常记录
异常一
libpython2.7.so.1.0: cannot open shared object file: No such file or directory
没找到 这个文件
解决方法:添加这个文件的路径,这个文件就在 python 安装目录的 lib 下
# root 权限
vi /etc/ld.so.conf
添加上python2.7的 lib 库地址,如我的/usr/lib/Python27/lib,保存文件
然后还要执行如下操作
/sbin/ldconfig -v
异常二
yum 无法使用或无法安装
解决方法:参考我的博客 yum 安装 异常记录
异常三
pip 等 python 包安装工具无法使用
解决方法:参考我的博客 包管理工具