Python IDLE, импорт XLRD, ошибка, сгенерированная в режиме отладки: AttributeError: у объекта «_ModuleLock» нет атрибута «имя» - PullRequest
0 голосов
/ 19 апреля 2020

Я новичок ie до 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 Cal c, и Python немедленно сообщил мне, что мне нужно использовать xlrd, и go больше не будет.

1 Ответ

0 голосов
/ 20 апреля 2020

Я думал, что у меня есть ответ, но, очевидно, нет. Я импортировал openpyxl вместо xlrd в код hello world. Та же ошибка с точкой останова на той же строке. Я собирался сказать «обратно на чертежную доску», но я думаю, что просто поработаю над чем-то другим. Очень разочаровывает!

...