如何在 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 服务器非常有吸引力,如果你需要的高性能,高可靠性和高性价比 ...
随机推荐
- HTTP2 Sampler for JMeter
今天开发大大说能不能帮忙压一下HTTP2的链接,便去查了一下相关的东西. HTTP 2.0 的出现,相比于 HTTP 1.x ,大幅度的提升了 web 性能.在与 HTTP/1.1 完全语义兼容的基础 ...
- ES6入门教程---变量和常量
ES6提出了两个新的声明变量的命令:let 和 const 1. 建议不再使用var,而使用let 和const .优先使用const. 在定义之后值是固定不变的,即为常量 常量的值不能修改,但是如果 ...
- 练习三十二:用python实现:按相反的顺序输出列表的每一位值
用python实现:按相反的顺序输出列表的每一位值 1. 使用list[::-1] list1 = ["one","two","three" ...
- FusionCharts的类 - 实例功能
一.FusionCharts的类 - 实例功能 1.configure(name:string , value:string) or configure(configurations: Objec ...
- CSS——三种页面引入方法
目的:为了把样式和内容分开,并且使网页元素更加丰富,引入了CSS CSS页面引入有三种方式: 1)内联式:比较不常用,因为内容和样式仍然在一起,不方便.示例: <!DOCTYPE html> ...
- java类在eclipse上打jar包,Linux上成功运行的实例
1 eclipse下的java项目结构如下图所示: 2 打包的步骤如下: 3 修改minifest.mf文件: 4 .上传需要的三方jar包们和主类打的jar(案例是topV.jar)并且执行jav ...
- 传智播客C++
轻松入门实战应用传智播客C++学院就业班第一阶段C提高课程 传智播客C提高讲义 传智扫地僧 1程序内存模型 1.1就业班引言 1.1.1问题引出 企业需要能干活的人 C学到什么程度可以找工作 ...
- 专题《一》mysql优化 ---------主从复制,读写
主从复制是mysql自带的功能,读写分离用第三方插件 主从复制作用:读写分离(mycat),数据备份,高可用,集群 原理:二进制sql执行文件-----insert,update,delete,cre ...
- ruby 从命令行读取文本
最常见的方式就是使用内置的get 方法,这个方法可以从命令行读取用户的输入,并在默认的情况下把读入的文本赋值给预定义变量$_. 但是get方法会保留用户在输入字符串末尾所加的换行符,当用户在输入的字符 ...
- c# 视频播放
发表于: 2003-10-15 20:39:21 搞定了,嘿嘿!首先非常感谢zoujiaming在邮件中给我指了条路:用C#调用API搞定!!!使用的是mciSendString API函数主要参考了 ...