文章目录
- 1.配置 Yum 源
- 2.下载 Python3 包
- 3. 解压
- 4.安装依赖环境
- 5.安装
- 出错场景
- 6.创建软链接
- 7.配置 Python3 的环境变量
- 8.验证
- 补充:安装 openssl-devel
- 补充:pip3 源配置
1.配置 Yum 源
# 注意!!!请先切换到 root 账号,然后再执行下面的步骤。
# 安装epel-release
yum install -y epel-release
# 备份旧的 yum 源
cd /etc/yum.repos.d
mv CentOS-Base.repo CentOS-Base.repo.bak
cp /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel.repo.bak
# 获取 yum 源镜像
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo 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
下的文件全部删除,然后重新获取 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
后如下所示:
这里提示是否需要开启自动优化,无需理会。
进行编译安装
# 注意!!!该命令请在 Python3 的解压根路径中完成,不要切换路径!
make && make install
这个过程需要等待一两分钟。
如果安装过程中出现了报错,可以看看下面出现的报错场景,找找解决方法。
报错解决后,重新执行编译安装命令。
安装完成后,如下所示:
出错场景
如果出现如下报错:
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*
包安装完成。
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
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.
请先切换到 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
包安装测试
可以看到,源已经成功的替换了,下载速度嘎嘎快。