Jenkins - Shell 脚本安装升级 Python 3

引言

Jenkins 实现 CI/CD,要运行 Pyhon 脚本,而有些 VM 默认只装了 Python 2,但脚本必须用 Python 3 环境来执行。或则系统自带 Python 2 和 Python 3 版本,但是需要更新版本的 Python 3。当然如果你能很方便的找到 DevOps 工程师,这个问题就很好解决了,直接在 VM 模块上装 Python 3 便可以,但也有会遇到联系不到 DevOps,只能苦逼地脚本安装,每次运行 Python 脚本之前,先在随机分配 VM 上装一遍 Python 3. 我就是后面一种,不能直接 log in 到 VM 操作, 只能通过命令属于盲人摸象型的探索,记录一下经历了一些坑。

内容提要:

  1. 了解 Python 环境
  2. 全新安装 Python 3
  3. 升级 Python

了解 Python 环境

可以通过一些命令,来了解一下 Python 的环境。

查看当前环境安装的 Python

执行 whereis python 命令
在这里插入图片描述
console output:
比较幸运,这台机子上了很多版本的 Python。
在这里插入图片描述

查看 Python 对应的软链接

执行 ls -l /usr/bin|grep python 命令先查看之前 Python 对应软链接
在这里插入图片描述
console output:
Python 3 对应的是 Python 3.8 版本
Python 2 对应的是 Python 2.7 版本
Python 对应的是 Python 3
在这里插入图片描述
可以进一步验证版本:执行下列命令
python -V
python2 -V
python3 -V

在这里插入图片描述
console output:
在这里插入图片描述

全新安装 Python 3

通过一些命令了解到 Python 的环境情况,但是如果不幸的事,环境上没有装任何 Python 3 版本,那么就得全新安装一套 Python 3 环境。

了解系统版本

通过执行命令 cat /proc/version
console output:
了解到是 Ubuntu 系统,不同的系统也会有影响。
在这里插入图片描述
下面我们就在 Ubuntu 系统来安装全新 Python 3 环境

  1. 安装编译依赖项
    sudo apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev
    如果不进行这步可能会出现一些问题,比如:
    handle ModuleNotFoundError: No module named '_bz2'
    Command 'lsb_release -a' returned non-zero exit status 1
  2. 下载并解压源码包
    wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tar.xz
    tar -xvJf Python-3.11.0.tar.xz
  3. 编译安装
    cd Python-3.11.0/
    sudo ./configure prefix=/usr/local/py3 CFLAGS=-fPIC
    sudo make && make install
  4. 修改软链接
    sudo ln -sf /usr/local/py3/bin/python3.11 /usr/bin/python3
    sudo ln -sf /usr/local/py3/bin/pip3.11 /usr/bin/pip3
  5. 测试是否成功
    python3 -V
    pip3 -V 或 python3 -m pip -V

完整的 Shell 脚本:

cd /usr/local
if [ ! -d "/usr/local/py3" ]; then
  sudo mkdir /usr/local/py3
fi 
sudo chmod -R 777 /usr/local/py3

cd /tmp

sudo apt-get install -y zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev

wget https://www.python.org/ftp/python/3.11.0/Python-3.11.0.tar.xz
tar -xvJf  Python-3.11.0.tar.xz

cd Python-3.11.0/
sudo ./configure prefix=/usr/local/py3 CFLAGS=-fPIC
sudo make && make install

sudo ln -sf /usr/local/py3/bin/python3.11 /usr/bin/python3
sudo ln -sf /usr/local/py3/bin/pip3.11 /usr/bin/pip3

python3 -V
pip3 -V

升级 Python

绝大多数的 Linux 发行版(Ubuntu、CentOS 等)都默认自带了 Python。有的 Linux 发行版甚至还会自带两个版本的 Python,例如最新版的 Ubuntu 会自带 Python 2.x 和 Python 3.x。你觉得现有的 Python 3 版本不够新,那么就需要更新 Python 版本。

在 Ubuntu 终端执行以下两条命令即可更新 Python 版本:
sudo apt-get update
sudo apt-get install python3.11

第一条命令用来指定更新 /etc/apt/sources.list 和 /etc/apt/sources.list.d 所列出的源地址,这样能够保证获得最新的安装包。

第二条命令用来指定安装 Python 3.11,这是目前最新的 Python 版本。

在这里插入图片描述
Console Output:
相比前面没有升级,多了个 python3.11 了,如果需要使用该版本,参考上面更改一下软链接即可。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值