Python第五十一天 python2升级为python3

前端之家收集整理的这篇文章主要介绍了Python第五十一天 python2升级为python3前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Python第五十一天  python2升级为python3

 

 

公司使用的生产环境系统是centos7,所以这里以centos7系统为基础,讲解将python2升级为python3的方法

centos7系统默认已经安装了python2.7,但是python2的生命周期到2020年1月1日就会终结,在这个时间点之后出现的任何问题都不会再维护

所以将现有用python2开发的系统升级为python3成为当务之急

官方文档描述如下

DEPRECATION: Python 2.7 will reach the end of its life on January 1st,2020. Please upgrade your Python as Python 2.7 won't be maintained after that date. A future version of pip will drop support for Python 2.7.

 

那么,我们开始对系统的python版本进行升级升级非常简单

升级方法有三种,前两种比较简单,第三种方法因为需要编译源码比较麻烦

第一种:yum安装升级,比较简单,一般推荐使用这种

安装路径:通常是 /usr/bin

  1. #使用IUS存储库,如IUS Community Project。
  2. #安装IUS存储库
  3. sudo yum install -y https://repo.ius.io/ius-release-el7.rpm
  4. install -y epel-release
  5. yum update
  6. #自动安装好python3.9的所有依赖
  7. install -y python39 python39-pip
  8. #修改环境变量
  9. export PATH=/usr/bin/python3.9:$PATH
  10. #修改别名
  11. alias python=python3.
  12. #安装好之后查看版本号
  13. python --version
  14. pip --version

 

 

第二种:使用虚拟环境升级,比较简单,但是Python脚本只能运行在虚拟环境下面,对自动化运维场景不太方便

  1. #安装Miniconda
  2. #下载Miniconda安装脚本
  3. wget -c https:repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
  4. #运行安装脚本
  5. bash Miniconda3-latest-Linux-x86_64.sh
  6. #初始化conda
  7. conda init
  8. #加载环境变量
  9. vi ~/.bashrc
  10. export PATH="$HOME/miniconda3/bin:$PATH"
  11. #重新加载'.bashrc'
  12. source ~/.bashrc
  13. #创建Conda虚拟环境
  14. #创建一个新的Conda环境并安装所需的Python版本
  15. conda create -n myenv python=3.9
  16. #激活新创建的环境
  17. conda activate myenv

 

第三种:源码安装,下载Python的源码包,自己编译安装,比较繁琐

安装路径:通常是 /usr/local/bin

1. 安装python依赖包,主要是gcc编译环境,zlib解压缩包等

  1. yum groupinstall Development tools" -y
  2. install –y --setopt=protected_multilib=false gcc zlib zlib-devel bzip2-devel openssl openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2. 使用源码方式编译安装python3,必须执行编译安装,否则在安装 Python 库依赖时会有麻烦

  1. cd /usr/local/src
  2. # 下载python3.7.5源码包
  3. www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
  4. # 解压源码包
  5. tar -zxvf Python-3.7.5.tgz
  6. cd Python-
  7. # 编译安装
  8. ./configure --prefix=/usr/local --enable-shared --with-ssl && make && make install
  9.  
  10. echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf
  11. # 在缓存文件/etc/ld.so.cache中追加进指定目录下的共享库
  12. ldconfig
  13. #修改环境变量
  14. export PATH=/usr/bin/python3.:$PATH
  15. export PATH=/usr/local/bin:$PATH
  16. # 对python3可执行文件建软连接
  17. ln -s /usr/local/bin/python3 /usr/bin/python3
  18. #安装好之后查看版本号
  19. python --version

3. 测试安装第三方包,python3的源码包里已经包含pip包管理工具,不需要再额外安装pip包管理工具,也就是不需要再yum install -y  python-pip 

  1. pip3 install pandas

如果上面三个步骤都没有报错,就相当于升级成功,现在系统里面是 python2和python3并存

 

 

 

总结

有朋友会问,python2和python3并存,那怎么调用python3,怎么调用python2,依赖python2的系统软件还能用吗,比如 yum

实际上,安装了python3之后,对系统原来的python2环境一点影响都没有,依赖python2的系统软件也能正常使用

 

通过查看/usr/bin路径下的python可执行文件得知,在系统安装好之后,默认已经存在/usr/bin/python、 /usr/bin/python2、 /usr/bin/python2.7等三个python2的可执行文件

只要不动它们,对python2环境是没有影响的,然后在安装完python3之后,做一个软链接, /usr/bin/python3 -> /usr/local/bin/python3

  1. ll /usr/bin/py*
  2. -rwxr-xr-x. 1 root root 78 Jul 13 2018 /usr/bin/pydoc
  3. lrwxrwxrwx. 1 root root 7 Nov 15 2018 /usr/bin/python -> python2
  4. lrwxrwxrwx. 1 root root 9 Nov 15 2018 /usr/bin/python2 -> python2.7
  5. -rwxr-xr-x. 1 root root 7216 Jul 13 2018 /usr/bin/python2.7
  6. lrwxrwxrwx 1 root root 22 Dec 29 18:13 /usr/bin/python3 -> /usr/local/bin/python3

 以后如果需要用python3执行脚本,只需要

  1. python3 脚本文件名.py

要用pip安装python3的第三方包,只需要

  1. pip3 install 第三方包名

 

其他的命令行参数,语法跟python2都一样,升级python3就是这么简单

 

 

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

本文版权归作者所有,未经作者同意不得转载。

猜你在找的Python相关文章