如何在 CentOS 7 上安装 Python 3
当前最新的 CentOS 7.5 默认安装的是 Python 2.7.5,并且默认的官方 yum 源中不提供 Python 3 的安装包。这里主要介绍两种在 CentOS 7 中安装 Python 3 的方法。
使用 SCL 安装
1. 启用 SCL
SCL 是一个社区项目,它可以在同一系统上构建,安装和使用多个版本的软件,而不会影响系统默认软件包。
yum -y install centos-release-scl
2. 安装 Python
现在我们可以访问SCL存储库,我们可以安装我们需要的任何Python 3.x版本,目前最新版本为 Python 3.6。
yum -y install rh-python36
3. 修改环境变量
要访问Python 3.6,需要使用 scl 工具为系统环境变量添加自定义路径。
scl enable rh-python36 bash
4. 查看安装信息
查看 Python 环境路径:
[root@localhost ~]# which python
/opt/rh/rh-python36/root/usr/bin/python
查看 Python 当前版本:
[root@localhost ~]# python --version
Python 3.6.3
编译源码安装
1. 基本工具
- wget(网络下载工具)
- gcc(基于C/C++的编译器)
- make(工程化编译工具)
yum -y install wget gcc make
2. 安装依赖
- bzip2-devel(解决 import bz2 报错)
- ncurses-devel(解决 import curses 报错)
- sqlite-devel(解决 import sqlite3 报错)
- gdbm-devel(解决 _dbm _gdbm 缺失)
- xz-devel(解决 _lzma 缺失)
- tk-devel(解决 _tkinter 缺失)
- readline-devel(解决 readline 缺失)
- libffi-devel(解决 _ctypes 缺失)
yum -y install bzip2-devel ncurses-devel sqlite-devel gdbm-devel xz-devel tk-devel readline-devel libffi-devel
3. 编译源码
下载源码包:
wget -c https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
解压源码包:
tar -zxvf Python-3.7.0.tgz
进入解压目录:
[root@localhost ~]# cd Python-3.7.0
[root@localhost Python-3.7.0]#
配置安装目录:
./configure prefix=/usr/local/python3
编译并安装:
make && make install
4. 添加链接
在用户环境变量目录下,创建一个启动程序的软链接。
ln -s /usr/local/python3/bin/python3.7 /usr/local/bin/python
5. 查看版本
[root@localhost ~]# python --version
Python 3.7.0
SLC 与编译安装各有优缺点。
SLC 方式安装更简单,不需要考虑依赖的问题。而且默认安装在 /opt 目录下(相当于 Windows 中 D:\SoftWare),不影响系统环境,直接 rm -rf 也没关系。局限在于 SLC 只提供 python3.4 - python3.6 的版本,并且会修改 $PATH 的路径。
编译安装则可以选择任意 python 的版本(只要能下载的到),但是编译与安装过程中会遇到很多 No module named 错误。如果再将启动程序软链接添加到系统环境变量目录(/usr/bin)下,依赖 python2 的 yum(#!/usr/bin/python)工具就不能使用了。
原文地址:https://segmentfault.com/a/1190000016156927
如何在 CentOS 7 上安装 Python 3的更多相关文章
- 如何在 CentOS 7 上安装 Nginx
本文首发:开发指南:如何在 CentOS 7 上安装 Nginx Nginx 读作 engine x, 是一个免费的.开源的.高性能的 HTTP 和反向代理服务,主要负责负载一些访问量比较大的站点. ...
- 如何在CentOS 7上安装newman
前提:先安装nodejs,详见:如何在CentOS 7上安装Node.js和npm #sudo npm install -g newman 结果: /usr/local/bin/newman -> ...
- 如何在 CentOS 7 上安装 Redis 服务器
大家好,本文的主题是 Redis,我们将要在 CentOS 7 上安装它.编译源代码,安装二进制文件,创建.安装文件.在安装了它的组件之后,我们还会配置 redis ,就像配置操作系统参数一样,目标就 ...
- 如何在CentOS 7上安装Htop
在本教程中,我们将向您介绍如何在CentOS 7服务器上安装和配置Htop.对于那些不知道的人,Htop 是为Linux编写的一个交互式实时系统监视进程查看器.它被设计为替代Unix程序的顶部.它显示 ...
- 如何在CentOS 7上安装Munin
在CentOS 7上安装Munin 首先我们需要在我们的系统中添加EPEL仓库. yum install epel-release 步骤2.安装LAMP(Linux,Apache,MariaDB,PH ...
- 如何在CentOS 7上安装Yarn
Yarn是与npm兼容的JavaScript软件包管理器,可帮助自动化安装,更新,配置和删除npm软件包的过程. 它的创建是为了解决npm的一系列问题,例如通过并行化操作并减少与网络连接有关的错误来加 ...
- 如何在CentOS 7上安装Node.js和npm
Node.js是一个跨平台的JavaScript运行时环境,允许在服务器端执行JavaScript代码.Node.js主要用于后端,但也作为全栈和前端解决方案而流行. npm,Node软件包管理器的缩 ...
- 如何在 CentOS 7 上安装 Docker
Docker 是一个开源工具,它可以让创建和管理 Linux 容器变得简单.容器就像是轻量级的虚拟机,并且可以以毫秒级的速度来启动或停止.Docker 帮助系统管理员和程序员在容器中开发应用程序,并且 ...
- 如何在CentOS 7上安装Percona服务器
在这篇文章中我们将了解关于 Percona 服务器,一个开源的MySQL,MariaDB的替代品.InnoDB的数据库引擎使得Percona 服务器非常有吸引力,如果你需要的高性能,高可靠性和高性价比 ...
随机推荐
- uoj207共价大爷游长沙
话说我可能还没有调出魔法森林呢...说好的lct第一题呢... 又是一个随机化的方法,毕竟又是判定性的问题 上次是判断无向图联通 这次是判断一些路径是否经过一条定边 若把路径上的边全部异或上一个路径的 ...
- Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) B
Arpa is taking a geometry exam. Here is the last problem of the exam. You are given three points a, ...
- 15 Puzzle LightOJ - 1121
https://cn.vjudge.net/problem/LightOJ-1121 #include<cstdio> #include<algorithm> #include ...
- 《springcloud 二》微服务动态网关,网关集群
动态网关 实际上是网关和分布式配置中心的整合,通过post手动刷新,生效 动态网关 传统方式将路由规则配置在配置文件中,如果路由规则发生了改变,需要重启服务器.结合整合SpringCloud C ...
- 《springcloud 三》分布式配置中心
Git环境搭建 使用码云环境搭建git服务器端 码云环境地址:https://gitee.com/majie2018 服务端详解 项目名称:springboot2.0-config_server Ma ...
- tcp的三次连接握手和四次释放握手
http://blog.csdn.net/whuslei/article/details/6667471/ 这篇博客讲的很清楚. 下面我简单说明一下:三次连接握手,首先client发送请求报文,然后服 ...
- js监听页面的scroll事件,当移到底部时触发事件
//页面拉到底时自动加载更多 $(window).scroll(function(event){ var wScrollY = window.scrollY; // 当前滚动条位置 var wInne ...
- ABAP:parameters的用法
parameters 1.基础用法 parameters:p0(20) type c. 2.使用DEFAULT后缀为参数指定缺省值. parameters:p1(20) type c default ...
- angularjs e2e测试初步学习(一)
e2e测试是从用户角度出发,认为整个系统都是一个黑盒,只有UI暴露出来. angularjs的测试框架是采用protractor. 1.创建文件 首先创建一个项目文件夹test,然后再创建两个文件,一 ...
- js获取当前的年月日时分秒周期
function timeNow(){ var date = new Date(); this.year = date.getFullYear(); this.month = date.getMont ...