自由自在 闲话少叙...
1.下载官方Python包 使用wget下载Python-3.8.2包
wget https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tar.xz
2.解压Python-3.8.2 tar.xz压缩格式,需要用xz命令解压为.tar,用tar命令解包,目录权限不足时需使用:sudo
xz -d Python-3.8.2.tar.xz
tar xvf Python-3.8.2.tar
另外一种格式
wget --no-check-certificate https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz
tar xzvf Python-3.8.2.tgz
3.Python-3.8.2安装到指定目录 编译安装时不要使用“make && make install” 一定要分两步,先make(编译),然后再 make install(编译安装)。 非root用户需使用sudo
1. 创建安装目录
mkdir /usr/local/python3/
2. 指定安装目录 不要在./configure 后添加–enable-optimizations参数,在低版本的gcc版本中带有–enable-optimizations参数时会出现“Could not import runpy module”安装错误,在下面会介绍
# 进入Python-3.8.2目录
# 配置(指定安装目录)
./configure --prefix=/usr/local/python3
3. 编译
4. 编译安装
5. 更换系统默认Python版本 (1).备份原系统旧版本python
mv /usr/bin/python /usr/bin/python.bak
mv /usr/bin/pip /usr/bin/pip.bak
(2).配置环境变量:创建新版本Python和pip的软链接
ln -s /usr/local/python3/bin/python3.8 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
5. 查看版本
6. 修改因更换Python版本影响的其它命令功能 (1).yum
vim /usr/bin/yum 把最顶部的#!/usr/bin/python改为:#!/usr/bin/python2.7 wq 保存,已经是的无须更改 (2).urlgrabber-ext-down
vim /usr/libexec/urlgrabber-ext-down 把最顶部的#!/usr/bin/python改为:#!/usr/bin/python2.7 wq 保存,已经是的无须更改 (2).firewalld
vim /usr/sbin/firewalld 把最顶部的#!/usr/bin/python改为:#!/usr/bin/python2.7 wq 保存,已经是的无须更改 (2).firewall-cm
vim /usr/bin/firewall-cm 把最顶部的#!/usr/bin/python改为:#!/usr/bin/python2.7 wq 保存,已经是的无须更改
7. 出现Could not import runpy module“”安装错误说明 错误示例:
make build_all CFLAGS_NODIST=" -fprofile-use -fprofile-correction" LDFLAGS_NODIST="" make[1]: Entering directory `/usr/local/src/Python-3.8.0' ./python -E -S -m sysconfig --generate-posix-vars ;\ if test $? -ne 0 ; then \ echo "generate-posix-vars failed" ; \ rm -f ./pybuilddir.txt ; \ exit 1 ; \ fi Could not import runpy module Traceback (most recent call last): File "/usr/local/src/Python-3.8.0/Lib/runpy.py", line 15, in <module> import importlib.util File "/usr/local/src/Python-3.8.0/Lib/importlib/util.py", line 14, in <module> from contextlib import contextmanager File "/usr/local/src/Python-3.8.0/Lib/contextlib.py", line 4, in <module> import _collections_abc SystemError: <built-in function compile> returned NULL without setting an error generate-posix-vars failed make[1]: *** [pybuilddir.txt] Error 1 make[1]: Leaving directory `/usr/local/src/Python-3.8.0' make: *** [profile-opt] Error 2
导致原因: 在低版本的gcc中带有–enable-optimizations参数 解决方法(不推荐使用方法1): 1、升级gcc至高版本,gcc 8.1.0已修复此问题 2、./configure参数中去掉–enable-optimizations
———————————————— 原文链接:https://blog.csdn.net/IT_Migrant_worker/java/article/details/104725904
来源:https://www.cnblogs.com/adao21/p/12901127.html |