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

Ubuntu22.04下如何让CMake默认识别Python3.10而非3.9

永久解决CMake FindPython优先识别Python3.10的方案

方法1:通过环境变量全局指定Python3.10路径

编辑你的shell配置文件(如~/.bashrc或~/.zshrc),添加以下环境变量:

export Python3_ROOT_DIR="/usr"
export Python3_EXECUTABLE="/usr/bin/python3.10"
export CMAKE_PREFIX_PATH="/usr/bin:/usr/lib/x86_64-linux-gnu:/usr/include/python3.10:$CMAKE_PREFIX_PATH"

执行source ~/.bashrc(对应你的配置文件)使设置立即生效。此后CMake的FindPython模块会优先读取这些变量,定位到系统默认的Python3.10。

方法2:修改CMake全局配置文件

创建或编辑用户级CMake配置文件~/.cmake/config.cmake,写入以下内容:

set(Python3_ROOT_DIR "/usr" CACHE PATH "Python 3 root directory")
set(Python3_EXECUTABLE "/usr/bin/python3.10" CACHE FILEPATH "Python 3 executable")
set(Python3_VERSION "3.10" CACHE STRING "Python 3 target version")

该配置会全局作用于所有CMake项目,强制FindPython优先查找Python3.10。

方法3:用update-alternatives管理Python版本优先级(推荐)

Ubuntu系统自带的update-alternatives可以安全管理多版本Python,避免手动修改软链接导致的系统问题:

  1. 注册Python3.10和3.9的备选项(数字为优先级,值越高越优先):
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.10 100
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.9 50
  1. 若后续需要切换版本,执行:
sudo update-alternatives --config python3

选择对应版本的序号即可。
配置完成后,CMake会跟随系统默认的python3指向,自动优先识别Python3.10。

验证配置有效性

执行以下命令检查CMake是否正确识别目标版本:

cmake --find-package -DNAME=Python3 -DCOMPILER_ID=GNU -DLANGUAGE=CXX -DMODE=EXIST

或进入pivy编译目录执行cmake .,查看输出中的Python版本信息是否为3.10。

内容的提问来源于stack exchange,提问作者FalcoGer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 16:50:31