Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Logging error: "TypeError: %d format: a real number is required, not str"

未关闭 适合新手
#294 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 4 天内回复

@mill1000 已经在做这个了。

开始于 2026年10月12日。

  • #295 来自 @mill1000 —— 未关闭

评估

难度
1/5
预计耗时
1 小时以内
新手友好度
88/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
python
领域
cli

调研方向

traceback 指向 918 行附近的 LOGGER.info 调用,该调用位于 sendspin/cli.py 中,它在传入字符串的同时用 %d 格式化卡号。请对照实际传入的参数检查格式说明符。当消息能够无日志错误地记录时即完成,可通过使用 hw:CARD=... 设备运行 sendspin daemon 并确认没有 traceback 来验证。

由索引模型根据 Issue 内容生成。

描述

When attempting to test the changes introduced in #279, I receive a logging error:

> sendspin daemon  --audio-device hw:CARD=sndrpijustboomd,DEV=0
INFO:sendspin.audio_devices:Using audio device hw:CARD=sndrpijustboomd,DEV=0: hw:CARD=sndrpijustboomd,DEV=0
--- Logging error ---
Traceback (most recent call last):
  File "/usr/lib/python3.13/logging/__init__.py", line 1151, in emit
    msg = self.format(record)
  File "/usr/lib/python3.13/logging/__init__.py", line 999, in format
    return fmt.format(record)
           ~~~~~~~~~~^^^^^^^^
  File "/usr/lib/python3.13/logging/__init__.py", line 712, in format
    record.message = record.getMessage()
                     ~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3.13/logging/__init__.py", line 400, in getMessage
    msg = msg % self.args
          ~~~~^~~~~~~~~~~
TypeError: %d format: a real number is required, not str
Call stack:
  File "/home/pi/.local/bin/sendspin", line 10, in <module>
    sys.exit(main())
  File "/home/pi/.local/share/uv/tools/sendspin/lib/python3.13/site-packages/sendspin/cli.py", line 808, in main
    return asyncio.run(_run_client_mode(args))
  File "/usr/lib/python3.13/asyncio/runners.py", line 195, in run
    return runner.run(main)
  File "/usr/lib/python3.13/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
  File "/usr/lib/python3.13/asyncio/base_events.py", line 712, in run_until_complete
    self.run_forever()
  File "/usr/lib/python3.13/asyncio/base_events.py", line 683, in run_forever
    self._run_once()
  File "/usr/lib/python3.13/asyncio/base_events.py", line 2042, in _run_once
    handle._run()
  File "/usr/lib/python3.13/asyncio/events.py", line 89, in _run
    self._context.run(self._callback, *self._args)
  File "/home/pi/.local/share/uv/tools/sendspin/lib/python3.13/site-packages/sendspin/cli.py", line 918, in _run_client_mode
    LOGGER.info(
Message: 'Using ALSA mixer volume control: card %d, element %r'
Arguments: ('sndrpijustboomd', 'Digital')
INFO:sendspin.daemon.daemon:Starting Sendspin daemon: vQzqUbG552kVFhuNOkxsCH-ua72D3vGiQZMoidkCdw4
INFO:sendspin.daemon.daemon:Listening for server connections on port 8928 (mDNS: _sendspin._tcp.local.)
INFO:aiosendspin.client.listener:ClientListener started on port 8928, path /sendspin
INFO:aiosendspin.client.listener:mDNS advertising client 'vQzqUbG552kVFhuNOkxsCH-ua72D3vGiQZMoidkCdw4' on port 8928 with path /sendspin
INFO:sendspin.daemon.daemon:Server connected

It looks like the message assumes an integer card number which is no longer true

https://github.com/Sendspin/sendspin-python-cli/blob/0d8c33536a3af7fe9a51f79a7b3528024c872f25/sendspin/cli.py#L919

主要语言
Python
星标
198
派生
40
平均合并
4 天 11 小时
30 天内合并 PR
10

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 有 Pull Request 模板
  • 没有贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

Sendspin/sendspin-python-cli 的其他 Issue

查看 Sendspin/sendspin-python-cli 的全部 Issue

相似的 Issue

更多 Python Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。