惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Simon Willison's Weblog
Simon Willison's Weblog
Google DeepMind News
Google DeepMind News
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
P
Proofpoint News Feed
Recent Announcements
Recent Announcements
MongoDB | Blog
MongoDB | Blog
U
Unit 42
云风的 BLOG
云风的 BLOG
Recorded Future
Recorded Future
G
Google Developers Blog
I
InfoQ
Blog — PlanetScale
Blog — PlanetScale
A
About on SuperTechFans
Jina AI
Jina AI
量子位
宝玉的分享
宝玉的分享
The Cloudflare Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 聂微东
Last Week in AI
Last Week in AI
WordPress大学
WordPress大学
美团技术团队
The Hacker News
The Hacker News
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
D
Darknet – Hacking Tools, Hacker News & Cyber Security
T
Tailwind CSS Blog
博客园 - 司徒正美
博客园 - 叶小钗
Hugging Face - Blog
Hugging Face - Blog
P
Palo Alto Networks Blog
博客园_首页
阮一峰的网络日志
阮一峰的网络日志
博客园 - 【当耐特】
Spread Privacy
Spread Privacy
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
Vercel News
Vercel News
Martin Fowler
Martin Fowler
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Forbes - Security
Forbes - Security
Attack and Defense Labs
Attack and Defense Labs
Google DeepMind News
Google DeepMind News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
P
Privacy International News Feed
G
GRAHAM CLULEY
The Last Watchdog
The Last Watchdog
C
Cyber Attacks, Cyber Crime and Cyber Security
AI
AI
V2EX - 技术
V2EX - 技术

LINUX DO - 最新话题

谷歌云盘下载700g数据集,求方法 OpenAI推出了100美元的Pro订阅后,plus的Codex 5小时限额大幅缩水 之前买的super grok居然还没掉 关于CPA认证文件周限 佬们,默认CDK的要求是什么等级啊? 最新版本的微信群聊机器人方案 有没有人知道如何free号没有封,那么是否可以循环使用,因为我看主要是周限 L站改版了?吓我一跳,我以为我浏览器崩了 淘宝这种宽带可信吗,500兆移动宽带月费8元到2099年 docker内部应用访问宿主机mysql和redis时被拒绝connection refuse Erp全栈想转行做Ai有什么推荐的吗 boost有bug 佬们,有没有靠谱点的 Plus 购买渠道 大妈,狗妈用的 lg 服务有源头开源项目吗? 有人有能过验证码打码的嘛 上次帖里好像发过通过大模型来打码的 gpt plus 封号似乎也太快了点,一天就给封号了 按流量/token收费的国产官方AI推荐 我算是知道了为什么Oracle总是ABC了 佬友们帮我分析一下 ChatGPT Team账号只有一个人使用和4个席位邀请满了使用的总额度是一样的吗? gpt-free 10个带rt CPA反代claude是默认1m吗? 我终于敢说我做出来windows上tmux的替代了,目标windows/全平台最强的终端Ai编程工具 claude pro升级max,除了原来的$20,好像还能再领一次$100 关于AI agent的知识框架 独乐乐不如众乐乐,分享一下我的的AI对话程序 佬们自建网站支付问题是怎么解决的 怎么能让gpt模仿claude风格输出 codex free已经死了,下一个会是plus或者team吗 请问chatgpt pro里的fast模式,速度快了,降智吗 天才程序员想要复活,还有可用的codex公益站么 里斯本丸沉没照进现代了 [富可敌国] [一叶知秋API]友仔们 我们换域名了~~ 记得更新一下哦 有点莫名其妙,被阿里云警告了 从道观回家之前,我和师兄问道 【picpi 皮皮公益站】为了防止有人拿去卖,邀请码发放规则更新。 美国 FAA: 我们需要你,游戏玩家,来当空管吧 vibe时用文言省tok吗? 有没有用? 会降表现吗? Codex CLI 官方这个 imagegen 的 Skill 到底是干啥的?哪有对应工具啊? 求问关于尼区和美区开通Claude 换设备登录telegram国内号码老账号 需要收费咋办? 发现hotmail的额度特别耐用 最近还有能正常用的claude中转站吗? 避雷闲鱼上面的CC中转站 现在cursor的优势是什么呢? OpenAI 回应马斯克要求罢免奥尔特曼:搞法律突袭,扰乱诉讼 谁在吹opencode go套餐啊,又慢量又少 【SamAltman】奥特曼被燃烧瓶袭击后的回应 咸鱼上359买的claude MAX 5x ,美国假家宽,看看能活几天 想问问跳蚤市场开的Pro和Plus 虚拟卡链接求助 [开源插件] 做了一个适合科研佬的GPT插件 【AI小说】拿AI跑了一部小说,佬们看看质量怎么样 总是能在首页看到opus4.6鞭尸推送 这个别名邮箱可以注册gpt 一个人在外地的话,佬们周末都做什么 你们ddg还能行不 获取不到新的邮箱 了····· claude code修复codex windows升级0.120.0 无法打开问题 我现在Zeabur上搭建了CPA服务,怎么再接入new api来做分发 杭州有么有佬友在搞AI应用这块的,四年前端转AI开发 汇丰、渣打两家银行获得香港稳定币牌照 【开源推广】 AIUsage:聚合多个 AI 平台配额与用量的 高颜值 macOS端 CPA看板 APP Newapi吃服务器内存多吗 中行跨境通疑限制无卡连续交易 或为应对盗刷 突然不能用表情回应话题了 codex是不是降额度了 反馈关于 “快问快答”标签的乱象 opencode版本1.4.3 无法上传图片问题 想问一下怎么解决这个问题,就是终端太多? codex更新到0.120.0之后无法加载以前的会话 sub2api怎么部署? 分享一个自用的南京继续教育平台视频自动播放下一集的油猴脚本 zotero9出来了 Claude正在向我推销付费项目,那能让你轻易得逞嘛 甲骨文用脚本开出来4个2+12咋办啊佬们,我还是免费号 各个厂的coding plan lite都绝版了? claude code 20美金账户问题 联通元景套餐续费问题 ai时代下的一些思考(诚邀大家讨论) 出境易GPT订阅pro求助 今年到目前股市的操作。 刚收到短信之前跑路的那家可以兑换了 佬们都用境外服务器做什么呢? 甲骨文4+24 求助领pro时候报错-付款页面出错。请重试。如果问题依然存在,请访问help.openai.com。 cloudflare 浏览器渲染增加了 CDP与mcp支持 SUB2API 导入 rt 时报错显示 Request failed with status code 502 如何解决 讨论一下怎么整理笔记 codex0.120.0更新后无法启动,回退 0.119.0正常使用 冰佬的公益站也不行了吗 三角洲直接给我封了10年 有佬友知道怎么起诉么 88VIP邀请 经过排查大概确定反重力代理报错问题了 【求助】openrouter 今年4月用国内visa卡充值后导致封禁,无法使用外国模型 奥特曼家被炸 自用,高信息量回复收集 求助sub2api分组问题 【新人报道】注册成功了 分享100个codex free账号 招聘 深圳客户端开发(flutter) 20k+
记录一下PyInstaller + GUI 脚本执行踩坑全记录
海狸 · 2026-05-01 · via LINUX DO - 最新话题
最近在做一个 PyInstaller 打包 + tkinter GUI 的项目,踩了不少坑,整理出来给佬们避雷。 背景 项目结构大致是:GUI 主程序负责界面和交互,动态执行一个打包进去的 Python 脚本, 脚本的 sys.stdout / sys.stderr 重定向到 GUI 的文本框。 看起来简单,但联调过程中几乎每一个环节都出了幺蛾子。 Q1 PermissionError / RuntimeError:无法获取脚本内容 现象 :打包后运行报 PermissionError: Permission denied 或 RuntimeError: 无法获取脚本内容 。 原因 :PyInstaller onefile 模式下, _MEIPASS 是只读内存映射, 用 open() 直接读取其中的文件会失败。 解法 :改用嵌入脚本方案,把脚本内容写成一个 Python 模块 ( embedded_script.py ),在打包时作为普通模块引入,不在运行时读文件。 Q2 退出码 -1,但没有任何错误详情 现象 :脚本执行失败,捕获到退出码 -1 ,日志里没有任何异常信息。 原因 : sys.exit() 抛出的是 SystemExit ,它继承自 BaseException 而非 Exception ,普通的 except Exception 捕获不到,异常被静默丢弃。 解法 : try: exec(script_code) except BaseException as e: if isinstance(e, SystemExit): error_msg = f"[SystemExit] sys.exit({e.code})" else: error_msg = traceback.format_exc() Q3 logging 报 AttributeError:‘GuiWriter’ 没有 isatty 现象 : AttributeError: 'GuiWriter' object has no attribute 'isatty' 原因 : logging.StreamHandler 内部会调用 stream.isatty() 判断是否为终端, 自定义的 GuiWriter 没有实现这个方法。 解法 :在 GuiWriter 类里补一个: def isatty(self): return False Q4 TypeError:string argument expected, got ‘bytes’ 现象 :脚本运行时报类型错误,看起来跟字节/字符串混用有关。 原因 :脚本里有一段 Windows UTF-8 兼容处理: if sys.platform == 'win32' and hasattr(sys.stdout, 'buffer'): sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8') 这段代码把 sys.stdout 包了一层 TextIOWrapper ,但外层 GuiWriter 已经接管了 sys.stdout ,两者的类型不一致,写入时就炸了。 解法 :在 generate_embedded_script.py 中,生成脚本内容时把这段替换掉: _win_utf8_block = """if sys.platform == 'win32' and hasattr(sys.stdout, 'buffer'): sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8') sys.stderr = io.TextIOWrapper(sys.stderr.buffer, encoding='utf-8') """ content = content.replace(_win_utf8_block, "") Q5 batch 脚本报错:‘ansion’ 不是内部或外部命令 现象 :PowerShell 执行 batch 文件时,某条命令被截断, 报类似 'ansion' 不是内部或外部命令 的错误( expansion 被截成了 ansion )。 原因 :batch 里用了 call set "VAR=%%VAR:--onedir=%%" 做字符串替换, 遇到参数中含有分号 ; 时会截断;加上 PowerShell 对 !VAR! 有特殊解析, 变量扩展结果与预期不一致。 解法 :放弃变量拼接,直接在 batch 中写出完整参数列表,不做运行时字符串替换。 Q6 Excel 文件路径 ./exam_info_df.xlsx 找不到 现象 :打包后运行,脚本找不到 Excel 文件,但开发环境没问题。 原因 :冻结环境下 Path.cwd() 指向 exe 所在目录,不是项目源码目录, 相对路径失效。 解法 :区分冻结环境和开发环境,优先从 _MEIPASS 取文件: import sys from pathlib import Path if getattr(sys, 'frozen', False): base = Path(sys._MEIPASS) else: base = Path(__file__).parent excel_path = base / "exam_info_df.xlsx" 或者通过 CLI 参数 --excel-path 传入绝对路径,更灵活。 Q7 WebDriver 版本不匹配 现象 : SessionNotCreatedException ,WebDriver 与浏览器版本不兼容。 原因 :Edge 浏览器静默自动更新,项目里打包的 msedgedriver.exe 版本落后了。 解法 :去官方下载页面下载与当前浏览器版本匹配的驱动, 替换 edgedriver_win64/msedgedriver.exe 。 下载地址: Microsoft Edge WebDriver | Microsoft Edge Developer 速查表 现象 根因 方案 PermissionError 读脚本 _MEIPASS 只读 改用嵌入脚本模块 退出码 -1 无详情 SystemExit 不被 except Exception 捕获 改用 except BaseException isatty() 属性错误 StreamHandler 调用了 isatty() GuiWriter 中补实现 stdout 类型冲突 TextIOWrapper 与 GuiWriter 冲突 生成脚本时移除包装代码 batch 命令截断 分号与 !VAR! 的特殊解析 不做变量拼接,直接写完整参数 Excel 路径找不到 cwd() ≠ 项目目录 用 _MEIPASS 或绝对路径参数 WebDriver 不兼容 浏览器自动更新后驱动落后 匹配版本重新下载驱动 踩完这些坑最大的感受是: PyInstaller 打包后,一切"理所当然"的运行时假设都要重新验证 —— 工作目录、文件读写权限、标准流对象的接口、异常捕获的范围,一个都不能漏。 佬们如果遇到类似问题欢迎评论区交流 1 个帖子 - 1 位参与者 阅读完整话题