476 字
2 分钟
云端 Notebooks 切换 Python 版本
2025-02-21

背景#

在云端计算平台(如 ColabKaggle)上部署模型时,可能会遇到平台内置的 Python 版本与项目所需版本不匹配的情况。这种不匹配可能导致模型无法正常运行,而平台通常并未提供简便的切换 Python 版本的功能。为了解决这一问题,可以通过重新配置环境,手动安装目标版本的 Python 和 pip,并将 python 命令指向新的版本。

环境#

环境
平台Kaggle
操作系统Ubuntu 22.04.3 LTS
Python 版本3.10.12

步骤#

通过以下操作,你可以将 Python 切换到目标版本(本例中为 3.11)。

准备工作#

首先,创建一个新的 Notebook,并连接到会话。

执行命令#

新建一个单元格(Cell),将以下命令粘贴到其中并运行,以安装 Python 和 pip:

# 安装 Python 3.11
!sudo add-apt-repository ppa:deadsnakes/ppa -y
!sudo apt-get install python3.11 -y
# 将 python3 链接到 python3.11
!sudo rm -f /usr/bin/python3
!sudo ln -s /usr/bin/python3.11 /usr/bin/python3
# 使用 update-alternatives 配置多个 Python 版本
!sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.11 1
# 安装 pip
!curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
!python get-pip.py
# 验证 Python 和 pip 的版本
!python --version
!python -m pip --version

执行后,你可以查看命令输出的最后两行,确认安装结果:

Python 3.11.11
pip 25.0.1 from /usr/local/lib/python3.11/dist-packages/pip (python 3.11)

这样,你的 Python 环境已经成功切换到 Python 3.11。接下来,可以通过 python 命令以新版本运行脚本。

注意事项#

完成上述操作后,sys.version 的值仍然不会发生改变,这意味着在单元格(Cell)中直接运行 Python 代码时,使用的依旧是平台默认的 Python 版本。只有在新建文件并使用 python <文件名> 命令时,才会使用刚才安装的 Python 版本。如下方代码所示:

import sys
print(f"当前 Python 版本: {sys.version}")

此时输出的仍是旧版本:

当前 Python 版本: 3.10.12 (main, Nov 6 2024, 20:22:13) [GCC 11.4.0]
云端 Notebooks 切换 Python 版本
https://0f.nz/posts/cloud-notebooks-python-version/
作者
oftx
发布于
2025-02-21
许可协议
CC BY-NC-SA 4.0