centos服务器系统下安装python3并与自带的python2

centos 服务器系统 下安装python3并与自带的python2

在centos中,自带有python2,因此需要经常安装python3。但是这里有一个坑,就是centos的yum是用python2写的,如果正常编译安装python3,那么yum就会直接挂了。为了方便以后编译安装python3,不用天天去网上找教程仅供参考。

(因平台原因本文中www即为xxx ,com即为zzz,http/ccccc即为cccc/ccccc)

首先连上服务器,看下python版本:

python -V

如图我们可以看到centos下,默认带有python2.7.5:

接下来我们开始安装python3。

1 安装python3所需要的组件

yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make wget libffi-devel

安装完成如图:

2 备份现有的python2

cd /usr/bin

mv python python.bak

mv pip pip.bak

然后试下yum,发现已经挂了:

3 下载并编译安装python3

这篇文章我们选择最新的稳定版本3.6.5,如有更新可以自行去官网

cd ~ && wget ccccc://xxx.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz ;

tar -xvJf Python-3.6.5.tar.xz

cd Python-3.6.5

指定安装路径

./configure prefix=/usr/local/python3

编译并安装

make && make install

编译安装完成后如图:

接下来做一条软连接,将python3指向python,顺便把pip也重新指向:

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

ln -s /usr/local/python3/bin/pip3 /usr/bin/pip

这时候我们执行一下python,看看版本回显信息:

python -V

python2 -V

如图可以看到,python命令对应了python3.6.5,python2命令对应了python2.7.5。

4 修改yum配置

装完了python3之后,我们要修一下yum了,不然以后都没法装软件和环境了。

vim /usr/bin/yum

如图,按insert,把头部的 #! /usr/bin/python 修改为 #! /usr/bin/python2

修改完成后按esc,然后输入 :wq 保存退出

同样修改一下 urlgrabber-ext-down 文件,把头部的 #! /usr/bin/python 修改为 #! /usr/bin/python2:

vim /usr/libexec/urlgrabber-ext-down

改完之后再试一下yum,已经恢复正常:

到了这一步那么所有的就弄好啦

我是艾西,今天的分享就到这里啦希望对有需要的小伙伴有帮助我们下期见

拥有一台服务器可以做很多有趣的事情!

相关推荐
小陈工1 小时前
Python Web开发入门(十七):Vue.js与Python后端集成——让前后端真正“握手言和“
开发语言·前端·javascript·数据库·vue.js·人工智能·python
H Journey1 小时前
C++之 CMake、CMakeLists.txt、Makefile
开发语言·c++·makefile·cmake
问简5 小时前
虚拟化对比
服务器
A__tao5 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
研究点啥好呢5 小时前
Github热门项目推荐 | 创建你的像素风格!
c++·python·node.js·github·开源软件
lly2024066 小时前
C 标准库 - `<stdio.h>`
开发语言
航Hang*6 小时前
Windows Server 配置与管理——第3章:文件系统管理
运维·服务器·windows·vmware
沫璃染墨6 小时前
C++ string 从入门到精通:构造、迭代器、容量接口全解析
c语言·开发语言·c++
jwn9996 小时前
Laravel6.x核心特性全解析
开发语言·php·laravel
迷藏4946 小时前
**发散创新:基于Rust实现的开源合规权限管理框架设计与实践**在现代软件架构中,**权限控制(RBAC)** 已成为保障
java·开发语言·python·rust·开源