MAC下Wxpython报错SystemExit: This program needs access to the screen. Please run with a Framework build

本文介绍在使用WxPython进行面向对象编程时遇到的运行错误及解决方案。通过指定WxPython的文件目录和正确的Python解释器,可以避免路径错误和文件名中中文字符导致的问题。

面向对象编程中需要用到Wxpython,使用pip install Wxpython后,安装没有问题,运行程序,报出错误⬇️
代码是确认没有问题的

这里使用的是python运行,需要切换Wxpython运行脚本
解决方法如下:
在终端输入命令:

/Users/shendinghui/opt/anaconda3/bin/pythonw 你的py路径

1、前面一个是Wxpython的文件目录,已知两种方式获取:
1.1、在终端输入 which WXpython获取
1.2、直接在Users/shendinghui/opt/anaconda3/bin文件夹里将Wxpython拖曳到终端即出现

2、py路径这里
出现过报错找不到文件路径(如下),解决办法为文件命名不要有中文,改为英文后解决
在这里插入图片描述

### 安装 wxPython 时构建 wheel 失败的解决方案 在使用 `pip` 安装 `wxPython` 时,出现 `ERROR: Failed building wheel for wxPython` 错误,通常与系统依赖库缺失、Python 环境配置不当或构建工具不兼容有关。 #### 1. 安装缺失的系统依赖库 在 Linux 系统中,某些必要的库文件可能未被安装,导致构建失败。例如,在 Ubuntu 上安装 `wxPython` 时,如果缺少 `libSDL2-2.0.so.0` 文件,将导致构建失败。可以通过以下命令安装缺失的依赖: ```bash sudo apt-get install libsdl2-2.0 sudo apt-get install libsdl2-dev ``` 这些命令将安装 SDL2 库及其开发文件,确保 `wxPython` 能够正确构建[^1]。 #### 2. 使用预编译的 wxPython 包 为了避免从源码构建,可以直接使用官方提供的预编译包。例如,在 Ubuntu 系统中,可以通过指定镜像源来安装预编译的 `wxPython`: ```bash pip3 install -U -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-20.04 wxPython ``` 该命令会从指定的镜像源下载并安装适用于当前系统的 `wxPython` 包,避免构建过程中的依赖问题。 #### 3. 检查 Python 环境版本冲突 如果系统中存在多个 Python 版本,可能会导致 `pip` 安装时使用了错误的解释器,从而引发构建失败。确保使用的 `pip` 对应的是目标 Python 版本,例如: ```bash python3.7 -m pip install wxPython ``` 这样可以避免因多个 Python 版本共存而导致的安装冲突[^2]。 #### 4. 使用虚拟环境管理依赖 创建并使用虚拟环境可以隔离全局依赖,避免因系统环境配置问题导致的安装失败。使用 `venv` 创建虚拟环境后,再尝试安装 `wxPython`: ```bash python3 -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows pip install wxPython ``` 这种方式可以确保所有依赖项都安装在独立的环境中,避免全局依赖冲突[^2]。 #### 5. 手动下载并安装 wheel 文件 如果构建失败仍然存在,可以尝试从官方或可信来源下载 `.whl` 文件并手动安装。例如: ```bash pip install wxPython‑4.2.0‑cp310‑cp310‑win_amd64.whl ``` 确保 `.whl` 文件的 Python 版本与当前环境一致,以避免兼容性问题[^4]。 #### 6. 升级构建工具链 有时,构建失败是由于构建工具版本过旧导致的。可以通过升级 `pip`、`setuptools` 和 `wheel` 来提高兼容性: ```bash pip install --upgrade pip setuptools wheel ``` 确保构建工具链为最新版本,有助于解决部分构建失败的问题[^3]。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值