【发布时间】:2020-04-19 20:10:18
【问题描述】:
我是 Python 新手,这是我第一次尝试调试模式。
我已经阅读了 stackoverflow 上几乎类似问题的答案,但似乎都没有解决这种情况:
当我在调试模式(IDLE,Windows 10)下运行此代码时:
import xlrd
print('Hello World!')
并在print('Hello World") 上设置断点并尝试单步执行代码,我得到以下错误行:
> **Traceback (most recent call last): File "D:/data/python/hello_world.py", line 4, in <module>
> import xlrd File "<frozen importlib._bootstrap>", line 988, in _find_and_load File "<frozen importlib._bootstrap>", line 148, in __enter__ File "<frozen importlib._bootstrap>", line 174, in _get_module_lock File "<frozen importlib._bootstrap>", line 59, in __init__ File "<frozen importlib._bootstrap>", line 59, in __init__ File
> "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38-32\lib\bdb.py",
> line 88, in trace_dispatch
> return self.dispatch_line(frame) File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38-32\lib\bdb.py",
> line 112, in dispatch_line
> self.user_line(frame) File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38-32\lib\idlelib\debugger.py",
> line 24, in user_line
> self.gui.interaction(message, frame) AttributeError: '_ModuleLock' object has no attribute 'name'**
该错误仅在调试模式下发生。
当我替换其他模块时,例如pprint, datetime, sys,在调试模式下没有产生错误,所以我只能假设是 xlrd 模块产生了错误。
为什么我使用像 xlrd 这样的旧模块而不是 openpxl?因为我正在使用由最新版本的 LibreOffice Calc 创建的电子表格,Python 立即通知我必须使用 xlrd 并且不会再继续了。
【问题讨论】:
标签: python debugging module python-idle xlrd