You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

CMake检测到错误Python版本(1.4),如何修复该报错?

解决CMake识别Python版本错误的问题

看起来CMake的FindPythonInterp模块在版本检测时出了点小问题——明明你系统里有正常的Python 3.6.5,它却误报成了1.4版本。下面是几个能快速解决这个问题的方法:

方法一:手动指定Python解释器路径

在运行CMake时,直接通过参数明确指定Python 3的路径,强制CMake使用正确的版本:

cmake -DPYTHON_EXECUTABLE=/usr/local/bin/python3 ..

这个命令会跳过CMake自动检测的逻辑,直接让它使用你指定的python3解释器,应该能立刻解决版本识别错误的问题。

方法二:清理CMake缓存重新检测

有时候CMake会缓存之前错误的检测结果,导致一直沿用错误信息。你可以删除构建目录下的缓存文件,让CMake重新检测:

  • 进入你的构建目录(比如build文件夹)
  • 删除缓存文件和相关目录:
rm CMakeCache.txt
rm -rf CMakeFiles
  • 重新运行CMake,这次它会重新扫描系统中的Python版本:
cmake ..

方法三:通过环境变量引导CMake优先找到Python 3

在运行CMake前,把Python 3所在的目录放到PATH环境变量最前面,让CMake优先找到正确的版本:

export PATH=/usr/local/bin:$PATH
cmake ..

这样CMake在查找Python解释器时,会先找到/usr/local/bin下的python3,避免被其他可能干扰的版本影响。

额外排查点

如果上面的方法都没生效,可以先确认/usr/local/bin/python3确实是你预期的版本:

/usr/local/bin/python3 --version

如果输出确实是3.6.5,那大概率是你使用的CMake 3.11.0版本里的FindPythonInterp模块存在小bug,这时候方法一的手动指定路径就是最可靠的解决方案。

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

火山引擎 最新活动