You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu23.04下共存Python3.10与Python3.11并保障包管理器正常运行的解决方案咨询

Ubuntu23.04下共存Python3.10与Python3.11并保障包管理器正常运行的解决方案咨询

我完全理解你的困扰——Ubuntu23.04默认绑定了Python3.11,系统里的apt这类核心工具都依赖它,你想装Python3.10同时正常用venv和包管理器,还不能搞崩系统环境。刚好之前帮人解决过类似问题,给你两个靠谱的方案:

方案一:用pyenv管理多版本Python(推荐,更省心)

pyenv是专门用来管理多个Python版本的工具,它会把不同版本的Python隔离开,完全不会影响系统自带的Python3.11,操作也很简单:

  • 先安装pyenv的依赖包:
    sudo apt update && sudo apt install -y 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 python3-openssl git
    
  • 克隆pyenv仓库到你的用户主目录:
    git clone git@github.com:pyenv/pyenv.git ~/.pyenv
    
  • 配置环境变量,打开你的shell配置文件(比如~/.bashrc或者~/.zshrc),添加以下内容:
    export PYENV_ROOT="$HOME/.pyenv"
    command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"
    eval "$(pyenv init -)"
    
  • 让配置生效,执行:
    source ~/.bashrc  # 如果用zsh就执行source ~/.zshrc
    
  • 安装Python3.10(可以指定具体小版本,比如3.10.13):
    pyenv install 3.10.13
    
  • 设置Python版本:
    • 全局生效(整个用户环境默认用3.10):pyenv global 3.10.13
    • 仅当前项目生效(进入项目目录后执行):pyenv local 3.10.13
  • 验证:执行python --version应该显示3.10.x,pip --version对应3.10的pip,python -m venv myenv可以正常创建虚拟环境。

方案二:从源码编译安装Python3.10

如果不想用pyenv,源码编译也是稳定的选择,只要指定安装路径,就不会干扰系统Python:

  • 先安装编译依赖:
    sudo apt update && sudo apt install -y build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl
    
  • 下载Python3.10的源码包(以3.10.13为例):
    wget https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tgz
    
  • 解压源码包:
    tar xzf Python-3.10.13.tgz
    
  • 进入解压后的目录:
    cd Python-3.10.13
    
  • 配置编译选项(指定安装路径,避免覆盖系统Python):
    ./configure --enable-optimizations --prefix=/usr/local/python3.10
    
    这里--enable-optimizations是开启编译优化,提升Python运行性能;--prefix指定安装到/usr/local/python3.10,和系统Python的路径完全分开。
  • 编译(用-j$(nproc)调用所有CPU核心加快速度):
    make -j$(nproc)
    
  • 安装:
    sudo make install
    
  • 创建软链接,方便全局调用:
    sudo ln -s /usr/local/python3.10/bin/python3.10 /usr/local/bin/python3.10
    sudo ln -s /usr/local/python3.10/bin/pip3.10 /usr/local/bin/pip3.10
    
  • 验证:执行python3.10 --version、pip3.10 --version、python3.10 -m venv myenv,这些命令都应该正常运行。

重要提醒

绝对不要修改系统默认的python3或python软链接!Ubuntu23.04的apt、dpkg等核心工具严重依赖Python3.11,修改后会直接导致包管理器崩溃,这就是你之前遇到的问题。不管用哪个方案,都要保证系统自带的Python3.11不受影响。

备注:内容来源于stack exchange,提问作者MIku

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:50:27