前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在 CentOS 7 上安装 Py

如何在 CentOS 7 上安装 Py

作者头像
py3study
发布2020-01-02 17:06:27
7090
发布2020-01-02 17:06:27
举报
文章被收录于专栏:python3python3

当前最新的 CentOS 7.5 默认安装的是 Python 2.7.5,并且默认的官方 yum 源中不提供 Python 3 的安装包。这里主要介绍两种在 CentOS 7 中安装 Python 3 的方法。

使用 SCL 安装

1. 启用 SCL

SCL 是一个社区项目,它可以在同一系统上构建,安装和使用多个版本的软件,而不会影响系统默认软件包。

代码语言:javascript
复制
yum -y install centos-release-scl

2. 安装 Python

现在我们可以访问SCL存储库,我们可以安装我们需要的任何Python 3.x版本,目前最新版本为 Python 3.6。

代码语言:javascript
复制
yum -y install rh-python36

3. 修改环境变量

要访问Python 3.6,需要使用 scl 工具为系统环境变量添加自定义路径。

代码语言:javascript
复制
scl enable rh-python36 bash

4. 查看安装信息

查看 Python 环境路径:

代码语言:javascript
复制
[root@localhost ~]# which python
/opt/rh/rh-python36/root/usr/bin/python

查看 Python 当前版本:

代码语言:javascript
复制
[root@localhost ~]# python --version
Python 3.6.3

编译源码安装

1. 基本工具

  • wget(网络下载工具)
  • gcc(基于C/C++的编译器)
  • make(工程化编译工具)
代码语言:javascript
复制
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 缺失)
代码语言:javascript
复制
yum -y install bzip2-devel ncurses-devel sqlite-devel gdbm-devel xz-devel tk-devel readline-devel libffi-devel

3. 编译源码

下载源码包:

代码语言:javascript
复制
wget -c https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz

解压源码包:

代码语言:javascript
复制
tar -zxvf Python-3.7.0.tgz

进入解压目录:

代码语言:javascript
复制
[root@localhost ~]# cd Python-3.7.0
[root@localhost Python-3.7.0]# 

配置安装目录:

代码语言:javascript
复制
./configure prefix=/usr/local/python3

编译并安装:

代码语言:javascript
复制
make && make install

4. 添加链接

在用户环境变量目录下,创建一个启动程序的软链接。

代码语言:javascript
复制
ln -s /usr/local/python3/bin/python3.7 /usr/local/bin/python

5. 查看版本

代码语言:javascript
复制
[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)工具就不能使用了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-10-14 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 使用 SCL 安装
    • 1. 启用 SCL
      • 2. 安装 Python
        • 3. 修改环境变量
          • 4. 查看安装信息
          • 编译源码安装
            • 1. 基本工具
              • 2. 安装依赖
                • 3. 编译源码
                  • 4. 添加链接
                    • 5. 查看版本
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档