Linux(CentOS7.5) 安装部署 Python3.6(超详细!包含 Yum 源配置!)

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
大数据开发治理平台 DataWorks,不限时长
简介: 该指南介绍了在Linux系统中配置Yum源和安装Python3的步骤。首先,通过`yum install`和`wget`命令更新和备份Yum源,并从阿里云获取CentOS和EPEL的repo文件。接着,清理和更新Yum缓存。然后,下载Python3源代码包,推荐使用阿里云镜像加速。解压后,安装必要的依赖,如gcc。在配置和编译Python3时,可能需要解决缺少C编译器的问题。完成安装后,创建Python3和pip3的软链接,并更新环境变量。最后,验证Python3安装成功,并可选地升级pip和配置pip源以提高包下载速度。

@[toc]

1.配置 Yum 源

# 注意!!!请先切换到 root 账号,然后再执行下面的步骤。
# 安装epel-release
yum install -y epel-release

# 备份旧的 yum 源
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak

# 获取 yum 源镜像
cd /etc/yum.repos.d
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://mirrors.aliyun.com/repo/epel-7.repo

# 清理缓存
yum clean all

# 重新生成缓存
yum makecache

2.下载 Python3 包

选择你需要安装的 Python3 版本进行下载 —— Index of /ftp/python/

或者通过 wget 方式下载:

wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz

但下载速度比较慢,可以直接通过我的链接下载 —— Python-3.6.5.tgz

3. 解压

tar -zxvf Python-3.6.5.tgz -C /opt/module/

4.安装依赖环境

这一步只要前面 Yum 源配置对了就不会报错,如果出错了,可以直接把 /etc/yum.repos.d 下的文件删除(保留 CentOS-Base.repo),然后重新获取 Yum 源镜像,清理并更新 Yum 缓存。

yum -y install libffi-devel zlib zlib-dev zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel libffi libffi-devel gcc gcc-c++ make

5.安装

# 提前创建一个安装(存储)目录
mkdir /usr/local/python3

# 进入包的解压路径
cd /opt/module/Python-3.6.5

# 指定 python3 安装的路径
./configure --prefix=/usr/local/python3

在执行命令后,可能会出现如下报错信息:

[ad@hadoop201 Python-3.6.5]$ ./configure --prefix=/usr/local/python3
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking for python3.6... no
checking for python3... no
checking for python... python
checking for --enable-universalsdk... no
checking for --with-universal-archs... no
checking MACHDEP... linux
checking for --without-gcc... no
checking for --with-icc... no
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in /opt/module/Python-3.6.5': configure: error: no acceptable C compiler found in $PATH
See config.log' for more details

解决方法

这是由于没有 C 语言编译器引起的,下载后即可解决。

yum install -y gcc

重新执行命令,等待约 30s 后如下所示:

image.png

这里提示是否需要开启自动优化,无需理会。

进行编译安装

# 注意!!!该命令请在 Python3 的解压根路径中完成,不要切换路径!
make && make install

这个过程需要等待一两分钟。

如果安装过程中出现了报错,可以看看下面出现的报错场景,找找解决方法。

报错解决后,重新执行编译安装命令。

安装完成后,如下所示:

image.png

出错场景

如果出现如下报错:

Traceback (most recent call last):
File "/opt/module/Python-3.6.5/Lib/runpy.py", line 193, in _run_module_as_main
"main", mod_spec)
File "/opt/module/Python-3.6.5/Lib/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/opt/module/Python-3.6.5/Lib/ensurepip/main.py", line 5, in
sys.exit(ensurepip._main())
File "/opt/module/Python-3.6.5/Lib/ensurepip/init.py", line 204, in _main
default_pip=args.default_pip,
File "/opt/module/Python-3.6.5/Lib/ensurepip/init.py", line 117, in _bootstrap
return _run_pip(args + [p[0] for p in _PROJECTS], additional_paths)
File "/opt/module/Python-3.6.5/Lib/ensurepip/init.py", line 27, in _run_pip
import pip
zipimport.ZipImportError: can't decompress data; zlib not available

这是由于没有 zlib 的工具包导致的,下载该依赖包即可解决:

yum -y install zlib*

如果在安装 zlib 包时,又出现了报错:

Transaction check error:
  package zlib-1.2.7-21.el7_9.x86_64 is already installed

错误概要
-------------

可以先卸载后再重新执行安装命令:

yum -y remove zlib-1.2.7-21.el7_9.x86_64

这一套操作下来,这个问题应该可以得到解决,zlib* 包安装完成。

image.png

6.创建软链接

#注意!!!这里具体的版本号如果你不是 python3.6,则需要修改成你的版本
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3

7.配置 Python3 的环境变量

vi ~/.bash_profile

设置成你的安装路径:

export PYTHON_HOME=/usr/local/python3
export PATH=$PYTHON_HOME/bin:$PATH

刷新环境变量

source ~/.bash_profile

8.验证

python3 --version

image.png

Python3 安装完成~

为了方便后续的使用,建议更新一下 pip 版本:

pip3 install --upgrade pip

补充:安装 openssl-devel

如果没有安装 openssl-devel 包,在下载其它包时,可能会出现如下问题:

pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.

image.png

请先切换到 root 账号,然后执行下载命令:

yum -y install openssl-devel

重编译:

# 注意!!!该命令请在 Python3 的解压根路径中完成!
make && make install

重编译完成后,即可正常下载。

补充:pip3 源配置

# 创建配置文件目录
mkdir ~/.pip

# 创建配置文件并添加源
vi ~/.pip/pip.conf

阿里源配置:

[global]
index-url=https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

包安装测试

image.png

可以看到,源已经成功的替换了,下载速度嘎嘎快。

相关文章
|
9天前
|
Linux 数据库管理 Python
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
CentOS7编译安装Python3.10(含OpenSSL1.1.1安装),创建虚拟环境,运行Django项目(含sqlite版本报错)
72 4
|
11天前
|
Ubuntu Linux Shell
github用存在的私钥在Linux上配置免密登录
在Linux上配置GitHub免密登录,使用已有的私钥。系统环境为Ubuntu 22.04.3 LTS。步骤包括:1) 将名为`github`的私钥文件上传至`~/.ssh/github`;2) 设置正确权限`chmod 600 ~/.ssh/github`和`chmod 700 ~/.ssh`;3) 启动SSH代理并添加私钥`ssh-agent -s`和`ssh-add ~/.ssh/github`。完成上述步骤后,可以无缝使用GitHub。
19 0
|
1天前
|
Linux 数据处理 数据库
探索Linux的`infocmp`命令:终端配置的得力助手
`infocmp`是Linux下用于查看和比较`terminfo`数据库中终端类型描述的命令。它显示终端的控制序列、按键映射等信息,并能找出不同终端的配置差异。通过参数如`-c`(以termcap格式输出)、`-d`(比较差异)和`-1`(单列显示)等可定制输出。例如,`infocmp $TERM`显示当前终端配置,`infocmp xterm vt100`比较两者差异。了解终端类型和选择合适输出格式是有效使用的关键。
|
10天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch,帮助你快速搭建起这个强大的工具
【6月更文挑战第7天】本文档详细介绍了如何在Rocky Linux 8上安装和配置Elasticsearch,首先通过添加Elasticsearch仓库并使用yum安装。接着,配置Elasticsearch,包括修改`elasticsearch.yml`、设置内存和文件描述符,以及可选的安全设置。启动Elasticsearch后,通过验证日志和测试连接确保其正常运行。文章还列举了常见问题及解决方法,如启动失败、内存不足和网络问题。按照这些步骤,用户可以在Rocky Linux 8上成功部署Elasticsearch,为数据管理与分析提供强大支持。
29 5
|
11天前
|
Linux Shell
Linux配置uwsgi环境
Linux配置uwsgi环境
|
11天前
|
监控 Linux
探索 Linux 中的 Chronyc:一个用于配置和管理 Chrony 的实用工具
Chronyc 是一款用于配置和管理 Linux 系统中 Chrony 时间同步工具的命令行实用程序。Chrony 结合了 ntpd 和 ntpdate 的优点,提供高精度和灵活性。要安装 Chrony,可使用包管理器(如 `apt` 或 `yum/dnf`)。常用 `chronyc` 命令包括:查看时间源状态(`sources`)、跟踪信息(`tracking`)、添加或删除服务器、手动同步时间(`makestep`)以及查看其他信息和帮助。`chronyc` 提供了便捷的方式来监控和调整系统时间同步。
|
11天前
|
Linux Shell 开发者
深入了解 Linux 命令 `autoscan`:为自动配置脚本做准备
`autoscan` 是 Linux 和 Unix-like 系统中用于软件配置的工具,它扫描源代码并生成 `configure.scan` 文件,为 `autoconf` 创建初始模板。开发者通常将 `configure.scan` 重命名为 `configure.ac` 并进行编辑,然后用 `autoconf` 转换为可执行的 `configure` 脚本。在使用前,记得备份项目,确保权限,并安装 `autoconf`。`configure` 脚本能适应多种系统,检查环境并生成 `Makefile`。
|
12天前
|
Ubuntu Linux
ubuntu linux配置bond 网卡绑定 多个bond配置多网关
ubuntu linux配置bond 网卡绑定 多个bond配置多网关
|
13天前
|
Linux
centos bond多网关配置 bond多网关路由
centos bond多网关配置 bond多网关路由
|
13天前
|
开发工具
centos8 yum安装mysql8 流程配置
centos8 yum安装mysql8 流程配置

热门文章

最新文章