编辑
2024-11-29
技术杂谈
00
请注意,本文编写于 54 天前,最后修改于 34 天前,其中某些信息可能已经过时。

目录

1. 检查现有的 Python 版本
2. 安装 Python 3.12
3. 不使用系统默认 Python,手动设置虚拟环境
4. 切换全局默认 Python 版本(非必要,可跳过)
5. 使用 pyenv 动态管理多个 Python 版本(高级)(非必要,可跳过)
总结

在 Ubuntu 20.04 上,如果你想使用 Python 3.12,可以通过手动安装或使用一些工具来管理多个 Python 版本。以下是详细的步骤:

1. 检查现有的 Python 版本

为了避免意外覆盖或更改系统的默认 Python 版本,首先检查你当前的 Python 版本:

bash
python3 --version

在 Ubuntu 20.04 中,默认情况下是 Python 3.8。这是系统预装的默认版本。

2. 安装 Python 3.12

Python 3.12 可能不会自带在默认的软件源中,因此你需要手动安装:

(1)添加 PPA 软件源 首先,添加能够提供最新 Python 版本的 PPA(个人包存档):

bash
sudo add-apt-repository -y ppa:deadsnakes/ppa sudo apt update

(2)安装 Python 3.12 完成更新后,安装 Python 3.12:

bash
sudo apt install python3.12 python3.12-venv python3.12-distutils

(3)通过以下命令验证是否安装成功:

bash
python3.12 --version

3. 不使用系统默认 Python,手动设置虚拟环境

你可以在创建虚拟环境时指定是使用 Python 3.8(系统默认)还是 Python 3.12,而不会更改全局默认 Python。

使用 Python 3.12 创建虚拟环境:在具体目录下(如项目文件夹)中执行以下命令:

bash
python3.12 -m venv <虚拟环境目录名>

例如:

bash
python3.12 -m venv venv

激活虚拟环境:

bash
source venv/bin/activate

现在,你的虚拟环境会使用 Python 3.12,而默认系统上的 Python 3.8 不会受到影响。

4. 切换全局默认 Python 版本(非必要,可跳过)

如果你希望将系统的默认 python3 切换为 Python 3.12,可以按照以下步骤操作:

(1)检查可用的 python3 版本: 在 /usr/bin/ 下的 python3.x 文件是你系统上安装的所有 Python 解释器。运行以下命令列出它们:

bash
ls /usr/bin/python3.*

你应该能看到类似以下内容:

bash
/usr/bin/python3.8 /usr/bin/python3.12

(2)更新默认 python3 的符号链接: 将 python3 的默认指向从 python3.8 改为 python3.12

bash
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 2

然后通过 update-alternatives 选择默认版本:

bash
sudo update-alternatives --config python3

根据命令行提示,选择你要默认的 Python 版本编号(如 Python 3.12)。

验证默认 python3 是否正确指向:

bash
python3 --version

⚠️ 注意:不推荐更改系统默认的 python3,因为系统的一些工具(如 apt)可能依赖于系统自带的 Python(通常为 3.8)版本。如果更改后出现问题,可以随时切换回默认版本。

5. 使用 pyenv 动态管理多个 Python 版本(高级)(非必要,可跳过)

如果需要经常切换不同版本的 Python,比如 Python 3.8 和 Python 3.12,可以使用 pyenv 来更便捷地管理。

(1)安装 pyenv 先安装 pyenv 的依赖项:

bash
sudo apt update sudo apt install -y 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 \ liblzma-dev python-openssl git

然后克隆 pyenv 仓库:

bash
curl https://pyenv.run | bash

pyenv 配置 shell 环境,编辑 ~/.bashrc(如果是 Zsh,则编辑 ~/.zshrc):

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

加载配置文件:

bash
source ~/.bashrc

(2)使用 pyenv 安装 Python 版本 检查可用的 Python 版本:

bash
pyenv install --list

安装 Python 3.12:

bash
pyenv install 3.12.0

(3)设置全局或项目特定的 Python 版本

全局使用 Python 3.12:

bash
pyenv global 3.12.0

为当前目录设置特定 Python 版本(创建 virtualenv 时生效):

bash
pyenv local 3.12.0

验证:

bash
python --version

总结

  1. 安装 Python 3.12 后,可以指定 python3.12 创建虚拟环境,无需更改系统默认的 python3,保证系统稳定。
  2. 使用 pyenv 工具可以方便地动态切换多个 Python 版本,并创建虚拟环境,非常适合多版本管理场景。
  3. 不推荐直接修改系统的全局 python3,除非你完全了解系统的依赖情况。

在window上呢?

本文作者:Freed

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!