#Python
共 135 篇文章
ShellSession 退出后超时
ShellSession 顶层 exit 后,EOF 没结束收集,仍等待完成标记而超时。单任务按条件使用子 shell,保留退出码、会话状态与原有安全限制。
setuptools-scm 构建无标签归档时,报 tag '' 和 AssertionError
归档有提交哈希却没有describe-name,旧解析器可能把空值当标签。核对隔离构建的实际后端,修复后仍需检查wheel版本与真实发行身份。
XML 根标签被删了
XMLOutputParser 把普通 encoding 属性误当声明,完整解析前删掉根标签。缩窄可配置规则,保留 defusedxml,分别验完整文档与流式片段。
OpenAI API报429 insufficient_quota,重试为何仍然失败
读取429正文与error.code,区分余额、支出、使用上限与速率,再检查SDK和外层队列的重试。
OpenAI嵌套schema报additionalProperties缺失,检查SDK与$ref
沿错误context检查最终schema,区分旧SDK内联引用遗漏与手写对象限制,并核对1.59.8正式修复。
AnyIO TaskGroup 包装 TimeoutError,外层 except TimeoutError 为什么没接到
AnyIO 4 会把单个普通异常也包装成异常组。展开叶子,用 except* 选择性处理超时,保留清理失败与调用方取消的边界。
ProcessPoolExecutor 报 BrokenProcessPool,先找 Exception in initializer
BrokenProcessPool 前有 initializer 异常?先检查 worker 实际模型路径与加载结果,补齐资源后关闭失效池,并按完成状态重建任务。
uv workspace 依赖能解析,运行仍找不到本地包
workspace 依赖能解析,不代表成员已打包安装。检查成员构建系统、package 设置、同步参数,以及目标解释器实际导入位置。
pip 构建 wheel 时 hg 找不到标准库,普通 shell 却能运行
pip wheel 内 hg 连标准库也导入不了?核对 .pth 启动错误和子进程 PYTHONPATH,选择局部环境处理或有条件的隔离方式。
asyncio.wait 报 Passing coroutines is forbidden,先检查传入对象
Python 3.11 起 asyncio.wait 不接受裸协程。正确创建并持有 Task,处理 done、pending 与取消,核对第三方库已发布修复。
QueueHandler 与 multiprocessing 共用同一队列,首次写日志就卡住
首次日志触发队列初始化,内部 DEBUG 又回送同一队列,可能死锁或递归。检查 QueueHandler 路径、日志配置和正常退出。
Pydantic 2.7 的 serialize_as_any=True 误报 circular reference
递归字段以 None 结束,运行时 duck typing 却报循环引用?核对 Pydantic 2.7 历史误报、包含修复的依赖组合和子类输出契约。
pytest.raises 的 match 有括号,明明有相同文本却没匹配
pytest.raises 的 match 按正则搜索,空括号不是字面括号。用 re.escape 检查固定文本,并区分子串匹配和完整异常消息断言。
升级 Python 3.11 后,自定义 dataclass 默认值也报 mutable default
Python 3.11 起会拒绝自定义不可哈希字段默认值。找到定义失败的字段,用零参数 default_factory 保留对象语义,核对第三方库兼容性。
asyncio.wait_for 超时后,线程里的操作为什么还在执行
wait_for 等待执行器超时后,同步函数可能仍在工作。检查在途操作与重试重叠,保留结果所有权,并把停止机制放到实际执行层。
Python 读取 GBK 文件报 UnicodeDecodeError
Python 读取已确认的 GBK 文本报 UnicodeDecodeError,先核对输入编码,再显式读取或保留原件转存 UTF-8;另查 Python 3.15 默认编码变化。


