【Ubuntu】安装使用pyenv - Python版本管理

当我们在Ubuntu上使用Python进行开发的时候,可能会遇到版本不兼容的问题,当然你可以选择使用apt的方式安装不同版本的python环境

但是存在一定的问题:安装不同版本的Python通常不会改变默认的python3命令指向的版本,而且就算你进行了修改,内部的很多配置还是会使用原来的版本无法做到一次替换整体替换(而且很多报错,不推荐!!!)

那么接下来介绍pyenv啦

pyenv

1. 安装依赖项

首先,你需要安装pyenv的一些依赖项,包括git(如果你打算从Git仓库克隆pyenv),curl(虽然在这个特定情况下不是必需的,但它是Ubuntu上常用的工具),make,build-essential,libssl-dev,zlib1g-dev,libbz2-dev,libreadline-dev,libsqlite3-dev,wget,curl,llvm,libncurses5-dev,libncursesw5-dev,xz-utils,tk-dev和libffi-dev。

打开终端,然后运行以下命令来安装这些依赖项:

bash 复制代码
sudo apt-get update  
sudo apt-get install -y git make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev

2. 安装pyenv

有几种方法可以安装pyenv,但最常见的是通过Git克隆其GitHub仓库到你的用户主目录下的一个.pyenv目录中。

首先,确定你的主目录(通常是/home/你的用户名),然后克隆pyenv仓库:

bash 复制代码
cd ~  
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

如果出现连接超时的报错,先试试能不能ping通GitHub(毕竟是国外的网站) ping www.github.com

3. 配置环境变量

接下来,你需要配置你的shell以包含pyenv。这通常涉及到在你的shell配置文件中(如.bashrc,.bash_profile,.zshrc等)添加几行。

对于Bash用户,打开你的~/.bashrc文件并添加以下行:

bash 复制代码
export PYENV_ROOT="$HOME/.pyenv"  
export PATH="$PYENV_ROOT/bin:$PATH"  
  
# 如果你的shell是bash,请启用下面的命令  
if [ -d "$PYENV_ROOT/shims" ]; then  
  export PATH="$PYENV_ROOT/shims:$PATH"  
fi  
# 初始化pyenv(对于bash shell)  
eval "$(pyenv init --path)"  
eval "$(pyenv init -)"

对于Zsh用户,打开你的~/.zshrc文件并添加类似的行。

4. 应用更改

为了使更改生效,你需要重新加载你的shell配置文件或重新打开你的终端。

对于Bash用户,你可以通过运行source ~/.bashrc来重新加载配置文件。

5. 验证安装

最后,验证pyenv是否已正确安装。在你的终端中运行以下命令:

bash 复制代码
pyenv --version

如果一切设置正确,你将看到pyenv的版本号。

bash 复制代码
# 类似于这样
hx@LAPTOP-H2EI4I6A:~/test/backend$ pyenv --version
pyenv 2.4.7

6. 使用pyenv

现在,你可以开始使用pyenv来安装和管理不同版本的Python了。

6.1 安装

例如,要安装Python 3.8.5,你可以运行:

bash 复制代码
pyenv install 3.8.5
bash 复制代码
hx@LAPTOP-H2EI4I6A:~/test/backend$ pyenv install 3.8.5
Downloading Python-3.8.5.tar.xz...
-> https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tar.xz

假如说你一直卡在这种情况(那么就是网络问题啦,因为pyenv会自动到github上下载,速度超慢,这边给大家推荐通过镜像网站下载)

bash 复制代码
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

首先先打开这个网址找到自己想下的版本https://mirrors.huaweicloud.com/python进行版本号替换

6.2 列出所有版本

要列出所有已安装的Python版本,你可以运行:

bash 复制代码
pyenv versions

要列出pyenv所有能下载的版本,可以运行:

bash 复制代码
pyenv install --list

6.3 设置版本

要设置全局Python版本,你可以运行:

bash 复制代码
pyenv global 3.8.5

要在特定目录下设置Python版本,你可以在该目录下运行:(记得切换目录)

bash 复制代码
pyenv local 3.8.5

这样,你就成功地在Ubuntu上安装了pyenv并可以开始使用它来管理Python版本了。

6.4 查看当前Python版本

bash 复制代码
python3 --version

6.5 删除指定Python版本

bash 复制代码
pyenv uninstall 3.12.2

7. 删除pyenv

bash 复制代码
rm -rf ~/.pyenv
相关推荐
深海蜗牛4 分钟前
Jenkins linux安装
linux·jenkins
愚戏师16 分钟前
Linux复习笔记(三) 网络服务配置(web)
linux·运维·笔记
西西弗Sisyphus23 分钟前
Python 处理图像并生成 JSONL 元数据文件 - 灵活text版本
开发语言·python
Taichi呀23 分钟前
PyCharm 快捷键指南
ide·python·pycharm
Stara051130 分钟前
基于注意力机制与iRMB模块的YOLOv11改进模型—高效轻量目标检测新范式
人工智能·python·深度学习·神经网络·目标检测·计算机视觉·yolov11
JANYI201838 分钟前
嵌入式MCU和Linux开发哪个好?
linux·单片机·嵌入式硬件
熊大如如1 小时前
Java NIO 文件处理接口
java·linux·nio
Python猫1 小时前
付费专栏·Python潮流周刊电子书合集(epub、pdf、markdown)下载
python·计算机·pdf·电子书·资料
晚秋大魔王1 小时前
OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——nettle库
linux·开源·harmonyos
农民小飞侠1 小时前
ubuntu 24.04 error: cannot uninstall blinker 1.7.0, record file not found. hint
linux·运维·ubuntu