模块仅安装到 Python 2,我无法从 Python 3 访问它

模块仅安装到 Python 2,我无法从 Python 3 访问它

我正在尝试在 macOS 上安装 wxPython,并且同时安装了 Python 2.7 和 Python 3。

我在两个版本中都编写了一个 wxPython Hello World 程序。它在 Python 2 中可以运行,但在 Python 3 中我收到以下错误消息:

ModuleNotFoundError:没有名为“wx”的模块。

似乎 wxPython 仅安装在 Python 2.7 上,而 Python 3 找不到它。我怎样才能让它从两个版本都可以访问?

答案1

我遇到了同样的问题。我重新安装了 python 3.7,然后安装了 wxPython。快速重启(不确定是否需要),现在一切正常。

答案2

安装wxPython的官方说明

Windows 和 macOS

pip install -U wxPython

如果你使用的是兼容 Python 版本的 Windows 或 macOS,则上述命令将从最新版本下载相应的 wheel 文件,并且将其安装在你的活动 Python 环境中或虚拟环境。

正如措辞所暗示的那样,此命令仅wxPython针对您的默认 Python 版本进行安装。(在这种情况下,似乎是 Python 2。)

就像命令是或的python别名一样,命令也是或的别名。如果要确保为两个版本的 Python 安装模块,则应运行两个命令:python2python3pippip2pip3

pip2 install -U wxPython
pip3 install -U wxPython

然而,这种解决方案不建议因为它不适用于所有 Python 版本。相反,建议python -m pip与您喜欢的 Python 版本一起使用:

python2 -m pip install -U wxPython
python3 -m pip install -U wxPython

也可以看看:处理多个 Python 版本和 PIP?

相关内容