【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
相关推荐
疯一样的码农2 分钟前
Python 正则表达式(RegEx)
开发语言·python·正则表达式
TeYiToKu29 分钟前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
dsywws32 分钟前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
yeyuningzi40 分钟前
Debian 12环境里部署nginx步骤记录
linux·运维·服务器
上辈子杀猪这辈子学IT1 小时前
【Zookeeper集群搭建】安装zookeeper、zookeeper集群配置、zookeeper启动与关闭、zookeeper的shell命令操作
linux·hadoop·zookeeper·centos·debian
minihuabei1 小时前
linux centos 安装redis
linux·redis·centos
进击的六角龙1 小时前
Python中处理Excel的基本概念(如工作簿、工作表等)
开发语言·python·excel
一只爱好编程的程序猿1 小时前
Java后台生成指定路径下创建指定名称的文件
java·python·数据下载
Aniay_ivy2 小时前
深入探索 Java 8 Stream 流:高效操作与应用场景
java·开发语言·python
gonghw4032 小时前
DearPyGui学习
python·gui