0%

ubuntu-部署Pyenv-并使用不同环境

ubuntu 部署Pyenv 并使用不同环境

Pyenv版本优先级:Shell > Local > Global

Step 1: Update Your System

首先,你需要确保你的 Ubuntu 系统是最新的。

sudo apt update
sudo apt upgrade

Step 2: Install Prerequisites

PyENV 需要一些依赖项才能正常工作,运行以下命令安装它们。

sudo apt-get install build-essential libbz2-dev libncurses5-dev libncursesw5-dev libffi-dev libreadline-dev libssl-dev libsqlite3-dev liblzma-dev zlib1g-dev wget curl llvm libncurses-dev xz-utils git

Step 3: Install PyENV

执行以下命令,安装 PyENV

curl https://pyenv.run | bash

Installing PyENV on Ubuntu

Step 4: Update Your Shell Configuration

安装 PyENV 后,您需要将其添加到 shell 配置中,编辑 ~/.bashrc 文件,添加以下行,以便每次打开终端时它都会加载。

export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init --path)"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"

使用 source 命令,使更改生效。

source ~/.bashrc

Step 4: Update Your Shell Configuration(root用户安装方式)

安装 PyENV 后,您需要将其添加到 shell 配置中,编辑 ~/.bashrc 文件,添加以下行,以便每次打开终端时它都会加载。

# 编辑全局环境变量文件(影响所有用户)
echo 'export PYENV_ROOT="/root/.pyenv"' >> /etc/profile.d/pyenv.sh
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> /etc/profile.d/pyenv.sh
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> /etc/profile.d/pyenv.sh

使用 source 命令,使更改生效。

# 使配置立即生效
source /etc/profile.d/pyenv.sh

Step 5: Install Python Versions

现在您可以安装所需的任何版本的 Python。例如,要安装 Python 3.12

pyenv install 3.12

或者您可能需要安装 Python 2.7 等旧版本

pyenv install 2.7

列出系统上安装的所有 Python 版本

pyenv install --list

Step 6: Set a Global Python Version

您可以设置默认使用的全局 Python 版本,比如将 Python 3.12 设置为全局版本。

pyenv global 3.12

查看当前全局 Python 版本

pyenv version

PyENV Set Default Python Version

Step 7: 设置其他版本

# 进入你的项目目录
cd ~/projects/legacy-project

# 设置该目录的 Python 版本为 3.8
pyenv local 3.8.12 # 假设已安装 3.8.12

# 这会生成一个隐藏文件 `.python-version`,记录版本号

## 验证
pyenv shell 3.8.12 # 临时设置
python --version # 应显示 3.8.12

# 退出临时模式(恢复全局或本地设置)
pyenv shell --unset

# 恢复全局版本
cd ~/projects/legacy-project
rm .python-version # 删除版本标记文件

Step 8: 使用虚拟环境隔离项目(推荐)

# 创建虚拟环境(基于 Python 3.8)
pyenv virtualenv 3.8.12 my-legacy-env

# 进入项目目录并激活虚拟环境
cd ~/projects/legacy-project
pyenv local my-legacy-env # 自动激活

# 验证
python --version # 显示 3.8.12,且环境独立
pip list # 显示该环境独立的包

# 退出虚拟环境
pyenv deactivate

Step 9: 验证版本切换

cd ~  # 退出项目目录
python --version # 应显示全局版本 3.13.0

cd ~/projects/legacy-project
python --version # 应显示本地版本 3.8.12 或虚拟环境