检查是否安装了 Python3 没有误导 macOS 安装 window

Check if Python3 is installed without misleading macOS installation window

我已经尝试 google 但没有找到任何答案。

我正在尝试检查是否安装了 Python 3 及其版本。

我正在使用这个命令:

python3 --version

不幸的是,如果未安装 Python 3,此命令会生成此 window 而不是仅向控制台打印一些错误消息:

The python3 command requires the command line developer tools. Would you like to install the tools now?

这种不需要的 window 让我们的用户认为我们的应用需要他们安装这些东西,而他们确实安装了所有这些东西,包括 XCode,他们实际上并不需要。

有没有办法抑制这个window?

加法#1。现在,我正在考虑只使用 which python3 命令。如果显示 /usr/bin/python3 - Python 3 未安装。这是好的解决方案吗?如果 Python 3 是通过标准安装程序安装的,则此命令输出此路径(至少在我的机器上):/usr/local/bin/python3。我很好奇其他类型的安装(例如自制软件)是否可以取代这个 /usr/bin/python3。这似乎永远不会发生,但我不确定。

添加#2。好的,我已经检查过 XCode 在安装 Python 3 时替换了这个 /usr/bin/python3 虚拟对象。因此,添加 #1 中的解决方案将不起作用。

添加#3。看来这个/usr/bin/python3假人并没有被XCode取代。这个虚拟只是搜索由 XCode 安装的实际 Python 二进制文件,例如在此路径中:/Applications/Xcode.app/Contents/Developer/usr/bin/python3。如果找到它 - 它会启动它。如果失败,它会显示 window.

因此,似乎可行的解决方案是检查 which python3 命令是否显示 /usr/bin/python3。如果没有 - 我们就可以安全地尝试启动 python3 --version。如果是 - 我们需要检查 /Applications/Xcode.app/Contents/Developer/usr/bin/python3 是否存在。如果是 - 我们可以再次安全地启动 python3 --version。如果没有 - Python 3 未安装。

看来,可行的解决方案是检查 which python3 命令是否显示 /usr/bin/python3

如果没有 - 我们可以安全地尝试启动 python3 --version

如果是 - 我们需要检查 /Applications/Xcode.app/Contents/Developer/usr/bin/python3 是否存在。

如果是 - 我们可以再次安全地启动 python3 --version

如果没有 - Python 3 未安装。