从 Terminal/C++ 程序启动时的不同 Python 版本
Different Python versions when launching from Terminal/C++ program
如果我在 macOS
从终端启动 python --version
,我将获得 3.9
版本。 python3
.
也是一样
但是如果我从我的 C++ 程序中启动这些程序(我使用 QProcess
),我会得到 2.7
for python
和 3.7
for python3
.
为什么会这样?
有什么方法可以启动与终端启动相同的 python 版本吗?
有没有办法找到机器上安装的最新 python 的路径(我需要支持 macOS 和 Linux)。
Addition #1. 在另一台 macOS 机器上,/Applications 文件夹中安装了 Python 3.10。
python3 --version 显示预期的 3.10 版本,但我的 C++ 程序甚至没有看到这个 python3,因此 macOS 显示其系统错误消息,建议用户安装其他组件(这不起作用通过)。
这是 macOS 的问题。从 Dock 启动的应用程序具有与 shell 不同的 PATH
环境变量。
这是一个关于如何解决这个问题的问题:
如果我在 macOS
从终端启动 python --version
,我将获得 3.9
版本。 python3
.
但是如果我从我的 C++ 程序中启动这些程序(我使用 QProcess
),我会得到 2.7
for python
和 3.7
for python3
.
为什么会这样?
有什么方法可以启动与终端启动相同的 python 版本吗?
有没有办法找到机器上安装的最新 python 的路径(我需要支持 macOS 和 Linux)。
Addition #1. 在另一台 macOS 机器上,/Applications 文件夹中安装了 Python 3.10。
python3 --version 显示预期的 3.10 版本,但我的 C++ 程序甚至没有看到这个 python3,因此 macOS 显示其系统错误消息,建议用户安装其他组件(这不起作用通过)。
这是 macOS 的问题。从 Dock 启动的应用程序具有与 shell 不同的 PATH
环境变量。
这是一个关于如何解决这个问题的问题: