当我们在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。
打开终端,然后运行以下命令来安装这些依赖项:
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仓库:
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文件并添加以下行:
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是否已正确安装。在你的终端中运行以下命令:
pyenv --version
如果一切设置正确,你将看到pyenv的版本号。
# 类似于这样
hx@LAPTOP-H2EI4I6A:~/test/backend$ pyenv --version
pyenv 2.4.7
6. 使用pyenv
现在,你可以开始使用pyenv来安装和管理不同版本的Python了。
6.1 安装
例如,要安装Python 3.8.5,你可以运行:
pyenv install 3.8.5
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上下载,速度超慢,这边给大家推荐通过镜像网站下载)
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版本,你可以运行:
pyenv versions
要列出pyenv所有能下载的版本,可以运行:
pyenv install --list
6.3 设置版本
要设置全局Python版本,你可以运行:
pyenv global 3.8.5
要在特定目录下设置Python版本,你可以在该目录下运行:(记得切换目录)
pyenv local 3.8.5
这样,你就成功地在Ubuntu上安装了pyenv并可以开始使用它来管理Python版本了。
6.4 查看当前Python版本
python3 --version
6.5 删除指定Python版本
pyenv uninstall 3.12.2
7. 删除pyenv
rm -rf ~/.pyenv