Linux系统下python2.6.6升
#查看Python版本
[root@template ~]# python -v
升级为python3.5版本步骤
root@template ~]# cd /home/nulige/tools/
#下载python-3.5.2
[root@template tools]# wget
[root@template tools]# ll
总用量 20104
-rw-r--r-- 1 root root 20566643 6月 26 05:47 Python-3.5.2.tgz
#解压到下载目录
[root@template tools]# tar zxvf Python-3.5.2.tgz
[root@template tools]# ll
总用量 20108
drwxrwxr-x 16 1000 1000 4096 6月 26 05:38 Python-3.5.2
-rw-r--r-- 1 root root 20566643 6月 26 05:47 Python-3.5.2.tgz
-rwxrwxrwx. 1 root root 13259 5月 8 16:10 system_optimize_scripts.sh
#进入解压后的文件夹
[root@template tools]# cd Python-3.5.2
#在编译前先在/usr/local建一个文件夹python3(作为python的安装路径,以免覆盖老的版本)
[root@template Python-3.5.2]# mkdir /usr/local/python3
#开始编译安装
[root@template Python-3.5.2]# ./configure --prefix=/usr/local/python3
make && make installchecking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MacHDEP... linux
中间步骤省略............
checking for --without-GCc... no
configure: creating ./config.status
config.status: creating Makefile.pre
config.status: creating Modules/Setup.config
config.status: creating Misc/python.pc
config.status: creating Misc/python-config.sh
config.status: creating Modules/ld_so_aix
config.status: creating pyconfig.h
creating Modules/Setup
creating Modules/Setup.local
creating Makefile
[root@template Python-3.5.2]# make && make install
中间步骤省略............
if test "x" != "x" ; then \
rm -f /usr/local/python3/bin/python3-32; \
(cd /usr/local/python3/bin; ln -s python3.5-32 python3-32) \
fi
rm -f /usr/local/python3/share/man/man1/python3.1
(cd /usr/local/python3/share/man/man1; ln -s python3.5.1 python3.1)
if test "xupgrade" != "xno" ; then \
case upgrade in \
upgrade) ensurepip="--upgrade" ;; \
install|*) ensurepip="" ;; \
esac; \
./python -E -m ensurepip \
$ensurepip --root=/ ; \
fi
Ignoring ensurepip failure: pip 8.1.1 requires SSL/TLS
[root@template Python-3.5.2]# echo $?
0
编译完成
################################################
#此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字
[root@template Python-3.5.2]# mv /usr/bin/python /usr/bin/python_old
#再建立新版本python的软链接
[root@template Python-3.5.2]# ln -s /usr/local/python3/bin/python3 /usr/bin/python
#就会显示出python的新版本信息
[root@template Python-3.5.2]# python
Python 3.5.2 (default, Aug 2 2016, 11:35:06)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-11)] on linux
Type "help", "copyright", "credits" or "license" for more infORMation.
>>> exit() #<----退出python
PS:如果不建立新安装路径python3,而是直接默认安装,则安装后的新python应该会覆盖linux下自带的老版本,也有可能不覆盖,具体看安装过程了,这个大家可以自己试验下,当然如果还想保留原来的版本,那么这种方法最好不过了。
注意事项:
这种方法虽然能安装成功,但会导致yum不能正常使用。
解决方法:
[root@template tools]# cp /usr/bin/yum /usr/bin/yum.backup_2016-08-02
修改第一行参数
vi /usr/bin/yum
把 #!/usr/bin/python 修改为:/usr/bin/python_old
或
把 #!/usr/bin/python 修改为:/usr/bin/python2.6
#查看版本
[root@template Python-3.5.2]# python --version
Python 3.5.2
注意事项:
这种方法虽然能安装成功,但会导致《退格键》不能正常使用。
#yum install readline-devel.x86_64
相关文章