Pyenv的安装和使用

Pyenv是一个简单的Python版本管理工具。通过Pyenv可以安装多个版本的Python,并且可以在多个版本之间轻松切换。所用操作系统:Ubuntu 22.04。


1. 安装Pyenv

1.1 说明

a) Pyenv支持UNIX/LINUX/MacOS系统,并未支持Windows操作系统,Pyenv官网

b) 如果是Windows系统,可以使用非官方版 Pyenv-win

1.2 安装Pyenv

a) 执行如下安装命令:

三个命令是一样的,只是前两个是官网Github源,后一个是镜像Gitee源。

shell 复制代码
# Github源
$ curl https://pyenv.run | bash
# 上面的调用等效于
$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash

# 推荐:替换国内镜像源
$ curl -L https://gitee.com/xinghuipeng/pyenv-installer/raw/master/bin/pyenv-installer | bash

b) 配置环境变量,将安装路径写入~/.bashrc文件:

# 将以下三条语句写入 ~/.bashrc文件结尾
export PATH="~/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

c) 使配置生效

shell 复制代码
$ source ~/.bashrc

d) 查看Pyenv版本并验证安装情况

shell 复制代码
$ pyenv --version

1.3 升级Pyenv

shell 复制代码
$ pyenv update

1.4 卸载Pyenv

shell 复制代码
$ rm -rf ~/.pyenv

2. Pyenv简单使用

2.1 查看所有可用的Python版本

shell 复制代码
$ pyenv install -l
# 或者
$ pyenv install -list

2.2 列出本地可用的Python版本

shell 复制代码
$ pyenv versions

2.3 在 Pyenv中安装Python

a) 安装Python的依赖包

shell 复制代码
# 以下依赖不一定是最全的,根据实际情况再安装缺失的吧
$ sudo apt update
$ sudo apt install libbz2-dev libncurses5-dev libncursesw5-dev libreadline-dev libffi-dev libsqlite3-dev liblzma-dev

b) 安装Pyenv

shell 复制代码
#方式一:因为pyenv会自动到github上下载,速度超慢,因此推荐第二种方式
$ pyenv install 3.12.2 -v  #-v 以日志模式显示安装过程

#方式二:使用curl或者wget下载到~/.pyenv/cache下,然后再用pyenv安装。软件源可以用自己熟悉的镜像源
$ cd ~/.pyenv
$ sudo mkdir cache
$ sudo wget -c https://mirrors.huaweicloud.com/python/3.12.2/Python-3.12.2.tar.xz -P  ~/.pyenv/cache/
$ pyenv install 3.12.2 -v

c) 检查安装情况,安装成功后,本地会多出一个可用版本。如未增加,可能是安装失败了,大概率是缺失依赖包,根据错误日志,安装所需依赖,重新执行安装命令即可。

shell 复制代码
$ pyenv versions

2.4 指定/切换Python版本

以下三个命令的生效范围不同,根据自己需要执行其一即可:

shell 复制代码
# 当前shell
$ pyenv shell 3.12.2
# 当前目录
$ pyenv local 3.12.2
# 全局
$ pyenv global 3.12.2

# 查看当前Python版本
$ python --version

2.5 删除指定Python版本

shell 复制代码
$ pyenv uninstall 3.12.2
相关推荐
waterHBO2 小时前
python 爬虫 selenium 笔记
爬虫·python·selenium
编程零零七3 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql
AIAdvocate5 小时前
Pandas_数据结构详解
数据结构·python·pandas
小言从不摸鱼5 小时前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
FreakStudio7 小时前
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
python·嵌入式·面向对象·电子diy
redcocal8 小时前
地平线秋招
python·嵌入式硬件·算法·fpga开发·求职招聘
artificiali8 小时前
Anaconda配置pytorch的基本操作
人工智能·pytorch·python
RaidenQ8 小时前
2024.9.13 Python与图像处理新国大EE5731课程大作业,索贝尔算子计算边缘,高斯核模糊边缘,Haar小波计算边缘
图像处理·python·算法·课程设计
花生了什么树~.9 小时前
python基础知识(六)--字典遍历、公共运算符、公共方法、函数、变量分类、参数分类、拆包、引用
开发语言·python
Trouvaille ~9 小时前
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
图像处理·python·机器学习·numpy·信号处理·时间序列分析·科学计算