You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mac VS Code运行Python币安交易机器人偶发Errno 13权限错误咨询

错误核心含义

你遇到的报错和币安开放接口本身无任何关联,本质是Python内置logging模块执行日志写入时,无法获取目标输出流的写入权限,触发PermissionError: [Errno 13] Permission denied。
你日志中所有币安接口请求实际都已成功执行,所有接口返回状态码均为200,异常是在日志内容要落地到文件/输出到终端时触发的。如果你的代码没有捕获logging模块抛出的异常,会直接导致执行策略的线程中断,后续的撤单、止损逻辑无法继续运行,才会出现无止损的高风险交易。

常见触发原因
  • 日志文件权限变更:程序运行过程中,系统定时清理规则、磁盘权限更新、或者手动操作过日志文件/所在目录(比如用sudo修改过文件属性、移动过日志文件位置、其他进程占用锁定了日志文件),会导致运行机器人的用户失去日志文件的写入权限。
  • Mac系统后台进程权限限制:你通过VS Code内置终端启动程序,Mac在长时间运行、锁屏或睡眠唤醒后,会对VS Code这类交互式软件启动的后台进程降权,限制其文件写入权限,导致日志写入失败。
  • 日志句柄泄漏:如果你的logging配置存在问题,比如重复创建FileHandler、没有正确释放日志文件句柄,长时间运行后打开的文件句柄超过系统限制,或旧句柄失效,新日志写入时就会触发权限错误。
  • 多线程写入冲突:你的交易机器人使用多线程执行策略,多个线程同时写入同一个日志文件时,logging的flush操作会出现锁冲突,被系统判定为无权限访问。
临时验证与修复方案
  • 先修改logging配置,改为仅输出到控制台,不写入本地文件,运行验证是否还会触发该错误
  • 不要通过VS Code内置终端启动机器人,改用系统自带Terminal,通过tmux或nohup后台运行,避免VS Code进程被系统降权影响
  • 给日志文件及所在目录开放足够权限,执行命令:chmod 777 你的日志目录路径、chmod 666 你的日志文件路径
  • 配置logging的FileHandler时,添加delay=True参数,避免程序启动时就独占日志文件句柄,减少权限冲突概率

内容的提问来源于stack exchange,提问作者stanvooz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 13:57:05