TypeError: 'type' object is not subscriptable
通过查看 发现是 markup.py里出现错误 也就是这个文件的第36行 MarksMeaning = dict[MarkMeaning, t.Any] ? 通过我看了看 我觉得你这个是不在定义类型 MarksMeaning = Dict[MarkMeaning, t.Any] 它应该是这样的吧 我发现很多文件你定义类型用的都是小写的 我使用3.8 全部报错,是不支持3.8嘛?
在我终于修改完成后 出现 ImportError: cannot import name 'std_print' from 'lk_logger.general'
注释掉该行导入 并把使用到std_print的 我看了使用到该函数的代码 我想这只是一个日志输出 我替换成print 终于可以用了
通过查看 发现是 markup.py里出现错误
也就是这个文件的第36行 MarksMeaning = dict[MarkMeaning, t.Any] ?
通过我看了看 我觉得你这个是不在定义类型 MarksMeaning = Dict[MarkMeaning, t.Any] 它应该是这样的吧
我发现很多文件你定义类型用的都是小写的 我使用3.8 全部报错,是不支持3.8嘛?
是的. 该写法在 python 3.9 得到支持, 参见 官方新特性介绍 (PEP-585 部分).
我在最近的 lk-logger 版本中也发现了 python 3.8 的运行问题. 在今天 (8 月 31 日) 我发布了 5.2.4 版本尝试修复它. 请你也更新到最新的版本:
pip install --upgrade lk-logger
# 请确认该版本号升级为 5.2.4 或以上.
5.2.4 版本在 python 3.8 上应该能够正常运行. 如果仍然遇到问题, 请你在 lk-logger 仓库中创建新的 issue, 我会尽快跟进!
注释掉该行导入 并把使用到std_print的 我看了使用到该函数的代码 我想这只是一个日志输出 我替换成print 终于可以用了
这里确实是用于打印输出, 你的改动可以通过, 尽管效果可能与预期存在一些差异.
下面是一些补充说明.
在新版 lk-logger 中, std_print 被改名为 builtin_print. 它的写法变成了:
from lk_logger import builtin_print
builtin_print(...)
builtin_print 与 python 内置的 print 用法相同. 与之相对的, print 在当前上下文中指向的其实是 lk-logger 的魔术打印方法.