Проблема с threading.py в uefi shell

Пишу скрипт тестера на python, который должен запускаться в UEFI Shell. Там будет модуль теста USB и для того я использую библиотеку pyusb, которая тянет за собой threading.py. Возникает следующая ошибка:

    Traceback (most recent call last):
File “menu.py” , line 3, in <module>
    from Tests.USBTest import testUSB
File "FS0:\Tests\USBTest\testUSB.py", line 1, in ‹module>
    import usb.core
File "FS0:\Efi\StdLib\lib\python36.8\site-packages\usb\__init__.py", line 45, in ‹module>
    import logging
File "FS0:\Efi\StdLib\lib\python36.8\10gging\__init__py", line 41, in ‹module>
    import threading
File "FSO:\Efi\StdLib\1ib\python36.8\threading.py", line 1277, in ‹module> 
    _main_thread = _MainThread()
File "FSO:\Efi\StdLib\lib\python36.8\threading.py", line 1191, in __init__
    Thread.__init__(self, name="MainThread", daemon=False)
File "FS0:\Efi\StdLib\lib\python36.8\threading.py", line 793, in __init__
    self._started = Event ()
File "F$0:\Efi\StdLib\1ib\python36.8\threading.py", line 499, in __init_-
    self._cond = Condition(Lock)
File "FS0:\EfiNStdLib\1ib\python36.8\threading.py", line 220, in __init__
    self.acquire = lock.acquire
AttributeError: 'NoneType' object has no attribute 'acquire'
Error reported: Aborted

Сам код:

import usb.core
import usb.util
import usb.backend.libusb1

backend = usb.backend.libusb1.get_backend(find_library=lambda x: 
"D:\\efi\\StdLib\\lib\\python36.8\\site-packages\\libusb\\_platform\\_windows\\x64\\libusb-1.0.dll")
print(backend)
dev = usb.core.find(backend=backend, find_all=True)
print(dev)

def EnumerateUSB():    #I use a simple function that scans all known USB connections and saves their info in the file
    with open("EnumerateUSBLog.txt", "w") as wf:
        counter = 0
        for d in dev:
            try:
                wf.write("USB Device number " + str(counter) + ":" + "\n")
                print("USB Device number " + str(counter) + ":" + "\n")
                wf.write(d._get_full_descriptor_str() + "\n")
                print(d._get_full_descriptor_str() + "\n")
                wf.write("\n")
                counter += 1
            except NotImplementedError:
                wf.write("Device number " + str(counter) + "is busy." + "\n")
                wf.write("\n")
                counter += 1
            except usb.core.USBError:
                wf.write("Device number " + str(counter) + " is either disconnected or not found." + "\n")
                wf.write("\n")
                counter += 1
        wf.close()

Уже несколько дней бьюсь над этим, идеи кончились


Ответы (0 шт):