脚本系列 —— python管理神器(pyenv)

有些时候ubuntu官方提供的那几个python版本不满足我们的使用需求,使用pyenv工具可以很方便的管理python的各个版本安装和卸载,减少了自己去浏览器下载,安装的麻烦。

一. 安装配置pyenv

1. 准备工作

(1) 确定安装路径
我准备将pyenv安装到/usr/local/bin中,先确认一下/usr/local/bin是不是在系统路径中
在这里插入图片描述
默认情况下,/usr/local/bin是在$PATH中的,但如果真的没有,可以编辑/etc/environment,将其加入进去。

(2) 设置环境变量PYENV_ROOT
安装python安装包时,pyenv会根据PYENV_ROOT设置的路径来安装,又由于是想让所有用户都使用,所以将下面的设置写到/etc/bash.bashrc文件中

# add PYENV_ROOT for pyenv
export PYENV_ROOT="/usr/local/src/pyenv"

(3) 提前下载依赖库
pyenv在安装python时,会需要一些依赖库,下面提供一下我安装时提示缺少的库

sudo apt install libbz2-dev libncurses5-dev libffi-dev libreadline-dev libsqlite3-dev zlib1g-dev liblzma-dev

2. 下载pyenv

sun@sun-pc:~$ git clone https://github.com/pyenv/pyenv.git /usr/local/src/pyenv

3. 在/usr/local/bin下添加pyenv的可执行程序链接

为了可以在任意地方可以执行pyenv,将pyenv启动程序链接到/usr/local/bin下

# 创建软连接
sun@sun-pc:/usr/local/bin$ ln -s /usr/local/src/pyenv/bin/pyenv /usr/local/bin/pyenv

# 确认是否创建成功
sun@sun-pc:/usr/local/bin$ ll
总用量 88000
...
lrwxrwxrwx  1 sun sun      30 213 09:27 pyenv -> /usr/local/src/pyenv/bin/pyenv*
...

二. 安装配置python

1. 使用pyenv在线安装

sun@ubuntu:~$ pyenv install 3.9.1

plugins/python-build/share/python-build中有python各个版本对应的脚本文件,pyenv通过这些文件来下载对应版本的python安装包,而这些地址都是python官网的,通常情况下国内访问国外网站速度较慢或者就不能访问,文件内容如下图所示(以3.9.1举例)
在这里插入图片描述

我们可以将文件中https://www.python.org/ftp/python地址更改为国内的镜像地址,这里提供一个淘宝的镜像地址(https://cdn.npmmirror.com/binaries/python):

在/usr/local/src/pyenv/plugins/python-build/share/python-build下执行:

sed -i 's/https:\/\/www.python.org\/ftp\/python/https:\/\/cdn.npmmirror.com\/binaries\/python/g' 3.9.1

也可以搭配grep命令,将目录中的所有文件都进行更改:

在/usr/local/src/pyenv/plugins/python-build/share/python-build下执行:

grep -l "https://www.python.org/ftp/python" ./* | xargs -n 1 sed -i 's/https:\/\/www.python.org\/ftp\/python/https:\/\/cdn.npmmirror.com\/binaries\/python/g'

2. 离线安装

(1) 下载python安装包
官网地址:https://www.python.org/downloads/
淘宝镜像:https://registry.npmmirror.com/binary.html?path=python/
下载所需版本的python包,然后拷贝到/usr/local/src/pyenv/cache,如果没有cache目录就创建一个。
在这里插入图片描述

(2) 安装

#查看一下cache目录,确定包含了刚才我们下载的3.9.1安装包
sun@sun-pc:~$ ls /usr/local/src/pyenv/cache/
Python-3.8.1.tar.xz  Python-3.9.1.tar.xz

#安装3.9.1
sun@sun-pc:~$ pyenv install 3.9.1     
Installing Python-3.9.1...
WARNING: The Python bz2 extension was not compiled. Missing the bzip2 lib?
WARNING: The Python readline extension was not compiled. Missing the GNU readline lib?
Installed Python-3.9.1 to /usr/local/src/pyenv/versions/3.9.1
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星际工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值