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
相关推荐
笨鸟先飞,勤能补拙5 小时前
AI 赋能网络安全:技术全景、成熟度评估与实战案例
人工智能·python·安全·web安全·网络安全·sqlite·github
长和信泰光伏储能5 小时前
京津冀光伏发电:绿色能源的未来之路
python·能源
浦信仿真大讲堂6 小时前
从重复操作到自动化闭环:如何让 CST 与 Python 真正协同起来
python·自动化·cst·仿真软件·达索软件
Gu Gu Study6 小时前
ScoutLoop开放域深度研究引擎(agent的初步设计想法)
人工智能·python
卷无止境7 小时前
写代码这件事,到底该讲究点什么?
后端·python
卷无止境7 小时前
循环复杂度到底在算什么,Python 代码怎么才能写得让人一看就懂
后端·python
lpfasd1237 小时前
MediaCrawler 项目深度分析
chrome·python·chrome devtools
Dxy12393102168 小时前
Python项目打包成EXE完整教程(PyInstaller实战避坑)
开发语言·python
bamb008 小时前
一个项目带你入门AI应用开发01
python
0566468 小时前
Python康复训练——常用标准库
开发语言·python·学习