centos升级原有Python2版本

一、安装过程
centos7 中没办法完全卸载python2.7的
重要/重要/再重要
# 安装必要的环境
yum install gcc-c++ # 这个非常重要,不安装这个,后面 ./configure 和 make 都会出错的,网上很多文章没有提及这个.
yum -y install zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel
编译安装Python3.8.5
# 创建目录
mkdir -p /usr/local/python3
# 下载安装包到((/home/pytemp)), 用shell上传 Python-3.8.5
# 如果没有这个目录,则新建一个 (/home/pytemp)
mkdir -p (/home/pytemp)
# 我使用的SecureCRT 8.0工具,所以用rz命令上传文件, 你也可以用其他的方法和工具.
rz
# 解压安装包, 解压到其他目录(/home/pytemp),不要解压到 (/usr/local/python3)
cd /home/pytemp
tar -xvf Python-3.8.5.tgz
# 编译安装Python, 编译后程序的目录指定到 (/usr/local/python3)
cd Python-3.8.5
# 编译并安装, 请注意上面的第一步安装必要的环境
./configure --prefix=/usr/local/python3
make
make install
出现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'
......
导致原因: 在低版本的gcc中带有–enable-optimizations参数 解决方法(不推荐使用方法1): 1、升级gcc至高版本,gcc 8.1.0已修复此问题 2、./configure参数中去掉–enable-optimizations
二. 修改配置
关于Python的配置目前有两种方法: 1、直接创建Python3软链,利用命令 Python3 调用新版本python,与自带python不冲突; 2、覆盖现有Python,使其指向新安装的Python,利用命令 python 便可调用新版本python; 下面我们分别介绍这两种方法:
2.1 直接创建Python3软链
在/usr/bin路径下创建python3软链,指向已安装的python3
ln -s /usr/local/python3/bin/python3 /usr/bin/python3
在/usr/bin路径下创建pip3软链,指向已安装的pip3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3
配置完成之后,此时系统中存在两个python版本:命令python对应的仍是默认2.7版本;命令python3则对应新安装的3.6版本:
当然,我们通过 python3 -V 和 pip3 -V也可以查看对应版本了:
2.1.1升级pip 到最新版本
python3 -m pip install --upgrade pip
2.2 覆盖现有python
备份旧python与pip
mv /usr/bin/python /usr/bin/python2_old
mv /usr/bin/pip /usr/bin/pip2_old #第三部分的文件名可根据本机版本修改
修改软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
然后我们就可以使用命令 python -V, pip -V查看版本啦。

三.故障修复
如果我们按照第二种方法覆盖现有Python之后,由于我们修改了python的版本,会导致一些依赖于旧版本的程序出现错误,如Yum,我们可以进行如下配置。在文件第一行,将Python修改为旧的版本号,此处添加2.7:
# 打开yum命令
vim /usr/bin/yum
#!/usr/bin/python2.7
import sys
try:
import yum
except ImportError:
print >> sys.stderr, """\
......
可能还是报错:
还是因为python更换的原因, 我们依照上述操作方法修改文件即可:打开/usr/libexec/urlgrabber-ext-down 文件,将 #!/usr/bin/python 修改为 #!/usr/bin/python2.7 :
# 打开脚本文件
vim /usr/libexec/urlgrabber-ext-down
#! /usr/bin/python2.7
# A very simple external downloader
# Copyright 2011-2012 Zdenek Pavlas
....
# .firewalld
vim /usr/sbin/firewalld
# 参考上面的进行修改
# .firewall-cm (某些环境下可能不存在)
vim /usr/bin/firewall-cm
如果其他工具或库如果在安装过程中也报类似错误,同法处理。此时系统仍存在两个python版本,但命令 python 对应的是新安装的3.6版本,命令 python2 才对应之前的默认2.7版本。
四.配置国内的pip源
# 请注意下面这种方法是本机环境都会使用该镜像进行下载的. 如果要变更镜像源,则需要修改pip.conf 文件
# 进入根目录
cd ~
# 创建一个文件夹并进入文件夹
mkdir .pip
cd .pip
# 创建并编辑文件
vim pip.conf
# 在文件中输入, 这里使用清华镜像源
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
国内其他镜像源: (未测试哦, 保留记录)
国内镜像列表:
http://pypi.douban.com/simple/ 豆瓣 http://mirrors.aliyun.com/pypi/simple/ 阿里 http://pypi.hustunique.com/simple/ 华中理工大学 http://pypi.sdutlinux.org/simple/ 山东理工大学 http://pypi.mirrors.ustc.edu.cn/simple/ 中国科学技术大学 https://pypi.tuna.tsinghua.edu.cn/simple 清华
五.安装pipenv
安装: pipenv
pip install pipenv
# 查看版本时, 报找不到命令:
-bash: pipenv: 未找到命令
# 为pipenv 建立软链接
ln -s /usr/local/python3/bin/pipenv /usr/bin/pipenv
配置pipenv
pipenv 虚拟环境默认指定的目录: ~/.local/share/virtualenvs/
配置pipenv 的默认安装源; 在 用户环境变量文件(~/.bash_profile)或者 系统环境变量文件(/etc/profile)中添加都行
# 系统环境变量文件
vim /etc/profile
export PIPENV_TEST_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple
export PATH=$PIPENV_TEST_INDEX:$PATH
# 如果我想默认所有项目的虚拟环境都自动建立在自己项目里面, 增加如下配置, 不建议这么做
export PIPENV_VENV_IN_PROJECT=1
# 如果我想所有项目的虚拟空间创建在一个指定目录
export WORKON_HOME=/home/venv
# 修改配置后, 手动刷新配置
source /etc/profile
虚拟环境里的python默认在虚拟环境的范围里搜索可用的包,用以下命令就可以让它把系统的包路径也会添加进来,这样既可以使用环境的已有的模块,安装自己所需的模块系统也不会感知
开发环境中并不建议这么做, 因为可能难以看出当前项目所有的依赖.
pipenv --three --site-packages
六. 安装git
centos 用yum install git; 只能安装低版本的git; 如果想安装最新版本的Git, 可以通过源码编译安装, 强烈推荐使用第三库安装的方式
git安装方法一: 编译安装
# 创建编译源代码目录
mkdir -p /home/app/src
cd /home/app/src
# 下载源码压缩包
curl -0 https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.31.7.tar.gz
# 编译安装
tar -zxf git-2.31.7.tar.gz
cd git-2.31.7
make configure
./configure --prefix=/usr
make all
make install
# 查看版本
git --version
git安装方法二: 第三方库 (推荐安装方式)
使用第三方库安装的方法: IUS 是一个比较受欢迎的第三方 yum 仓库,可以在 RHEL 和 CentOS 上使用,该仓库中包含了一些最新版本的软件,Git 是其中之一
只需要一条命令即可开启 IUS 仓库,官方文档指路:https://ius.io/setup
# 开启IUS仓库
yum install \
https://repo.ius.io/ius-release-el7.rpm \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# 搜索git包, 使用 yum search git 查找一下 git 相关的包; 参考下图
yum search git
# 安装Git
yum install git236
# 查看版本
git --version

Git 基本配置
# 配置邮箱和用户名**
git config --global user.name "hoeking"
git config --global user.email "53258372@qq.com"
# 查看配置
git config --list
# 修改配置 文件
vim ~/.gitconfig
下班了: 世界这么大, 我想去看看

作者: CLP ; 日期: 2022-2-24 ; 地点: 临沂; 天气: 晴
QQ: 53258372; Mail : 53258372@QQ.com
微信:
