CentOS 7 中默认安装了 Python,版本比较低(2.7.5),为了使用新版 3.x,需要对旧版本进行升级。由于很多基本的命令、软件包都依赖旧版本,比如:yum。所以,在更新 Python 时,建议不要删除旧版本(新旧版本可以共存)。

一、查看当前python版本

[root@ansible ~]# python -V
Python 2.7.

二、下载新的python包并安装

  进入python官网(https://www.python.org),选择需要的版本。此处我选择当前最新版本Python3.6.1

[root@ansible soft]#yum install gcc gcc-c++ -y
[root@ansible soft]# wget https://www.python.org/downloads/release/python-364/
[root@ansible soft]# tar xvf Python-3.6..tar.xz
[root@ansible soft]# cd Python-3.6./
[root@ansible Python-3.6.]# ./configure
[root@ansible Python-3.6.]# make
[root@ansible Python-3.6.]#make install

三、验证

#python -V     #一个是旧版本,一个是新版本
Python 2.7.
# python3 -V
Python 3.6.

四、设置3.X为默认版本

  查看 Python 的路径,在 /usr/bin 下面。可以看到 python 链接的是 python 2.7,所以,执行 python 就相当于执行 python 2.7。

[root@ansible ~]# ls -al /usr/bin | grep python
-rwxr-xr-x. root root Dec abrt-action-analyze-python
lrwxrwxrwx. root root May python -> python2
lrwxrwxrwx. root root May python2 -> python2.
-rwxr-xr-x. root root Nov python2.

将原来 python 的软链接重命名:

# mv /usr/bin/python /usr/bin/python.bak

将 python 链接至 python3:

# ln -s /usr/local/bin/python3 /usr/bin/python

五、配置yum

  升级 Python 之后,由于将默认的 python 指向了 python3,yum 不能正常使用,需要编辑 yum 的配置文件,此时:

[root@ansible-admin Python-3.6.]# yum list
File "/usr/bin/yum", line
except KeyboardInterrupt, e: SyntaxError: invalid syntax

  修改/usr/bin/yum和/usr/libexec/urlgrabber-ext-down,将 #!/usr/bin/python 改为 #!/usr/bin/python2.7,保存退出即可。

最新文章

  1. open-flash-chart2
  2. stringgrid事件大全
  3. Win7下安装依赖lxml的python插件
  4. hadoop2.5.1搭建(一)
  5. iOS8 超简单的设置圆角按钮 ImageView等UIView
  6. 转:samba 启动和重新启动 以及在虚拟系统和实际系统怎么实现软件交换
  7. UIScrollView不能响应touch事件的解决办法
  8. 设置Activity显示和关闭时的动画效果
  9. lodash中_.set的用法
  10. 2783: [JLOI2012]树( dfs + BST )
  11. 使用MVC模式开发一简单的销售额查询系统
  12. 第一个前台页面----xflow的页面
  13. TCP/IP网络协议栈(转载)
  14. 程序员的基本功之Java集合的实现细节
  15. Jquery实现数据双向绑定(赋值和取值),类似AngularJS
  16. Docker 网络管理及容器跨主机通信
  17. 再不了解PostgreSQL,你就晚了之PostgreSQL主从流复制部署
  18. Hadoop源码分析:Hadoop编程思想
  19. Eclipse debug Source not found
  20. 吴恩达机器学习笔记42-大边界的直观理解(Large Margin Intuition)

热门文章

  1. javascript 之 扩展对象
  2. Python Django mysqlclient安装和使用
  3. Asp.net Core 2.0 OpenId Connect Handler缺失Claims?
  4. POJ1475(Pushing Boxes)--bbffss
  5. window事件
  6. Java 之 字节输入流 [InputStream]
  7. csv注入复现代码
  8. OpenStack kilo版(2) keystone部署
  9. Django之form表单详解
  10. python之迭代器、生成器及列表推导式