Как исправить Traceback и Attributeerror, когда они связаны с модулем? - PullRequest
0 голосов
/ 08 мая 2020

В python я использовал модуль pynput. Я импортировал:

from pynput.keyboard import Controller, Key

До сих пор я использовал только модуль в функции ниже:

def findWord(userRef = None, cmd = None):
    keyboard = Controller()
    try:
        if keyboard.pressed('command+f') == True:
            print("Works")
    except:
        pass

Прямо сейчас я хочу посмотреть, работают ли функции, поэтому я помещаю его в код всплывающего окна:

def wordList(listBox):
    findWord()
    word_box.insert(0, "List pop up created.")
    wordlist = functionRef.words()
    pop_up = tk.Tk()
    pop_up.title("List")
    pop_up.geometry('650x925')
    listbox = Listbox(pop_up, height=40, width=60, border=0)
    listbox.grid(row=3, column=0, columnspan=3, rowspan=7, pady=20, padx=20)
    scroll = Scrollbar(pop_up)
    scroll.grid(row=4, column=3)
    listbox.configure(yscrollcommand=scroll.set)
    scroll.configure(command=listbox.yview)
    for word in wordlist:
        listbox.insert('end', word)

    exit_btn = Button(pop_up, text="ok", command=pop_up.destroy)
    exit_btn.grid(column=2, row=20)  
    word_box.insert(0, "List Pop up deleted")  
    pop_up.mainloop()

Как видите, я вызвал функцию findWord() в 1-й строке всплывающего окна. Но когда я запускаю программу, я получаю эту ошибку Traceback and Attribute:

Traceback (most recent call last):
  File "/Users/sergioley-languren/Latin_app/Application.py", line 8, in <module>
    from pynput.keyboard import Controller, Key
  File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/pynput/__init__.py", line 40, in <module>
    from . import keyboard
  File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/pynput/keyboard/__init__.py", line 43, in <module>
    from ._darwin import KeyCode, Key, Controller, Listener
  File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/pynput/keyboard/_darwin.py", line 29, in <module>
    import Quartz
  File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/Quartz/__init__.py", line 100, in <module>
    _load()
  File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/Quartz/__init__.py", line 28, in _load
    from Quartz import CoreGraphics as m
  File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/Quartz/CoreGraphics/__init__.py", line 12, in <module>
    from Quartz.CoreGraphics import _metadata
  File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/Quartz/CoreGraphics/_metadata.py", line 14, in <module>
    misc.update({'CGFunctionCallbacks': objc.createStructType('CGFunctionCallbacks', b'{CGFunctionCallbacks=I^?^?}', []), 'CGDeviceByteColor': objc.createStructType('CGDeviceByteColor', b'{CGDeviceByteColor=CCC}', ['red', 'green', 'blue']), 'CGPoint': objc.createStructAlias('CGPoint', sel32or64(b'{CGPoint=ff}', b'{CGPoint=dd}'), objc._resolve_name('Foundation.NSPoint')), 'CGDataProviderCallbacks': objc.createStructType('CGDataProviderCallbacks', b'{CGDataProviderCallbacks=^?^?^?^?}', []), 'CGDataProviderSequentialCallbacks': objc.createStructType('CGDataProviderSequentialCallbacks', b'{CGDataProviderSequentialCallbacks=I^?^?^?^?}', []), 'CGPatternCallbacks': objc.createStructType('CGPatternCallbacks', b'{CGPatternCallbacks=I^?^?}', []), 'CGSize': objc.createStructAlias('CGSize', sel32or64(b'{CGSize=ff}', b'{CGSize=dd}'), objc._resolve_name('Foundation.NSSize')), 'CGDeviceColor': objc.createStructType('CGDeviceColor', b'{CGDeviceColor=fff}', ['red', 'green', 'blue']), 'CGDataProviderDirectAccessCallbacks': objc.createStructType('CGDataProviderDirectAccessCallbacks', b'{CGDataProviderDirectAccessCallbacks=^?^?^?^?}', []), 'CGAffineTransform': objc.createStructType('CGAffineTransform', sel32or64(b'{CGAffineTransform=ffffff}', b'{CGAffineTransform=dddddd}'), ['a', 'b', 'c', 'd', 'tx', 'ty']), 'CGDataConsumerCallbacks': objc.createStructType('CGDataConsumerCallbacks', b'{CGDataConsumerCallbacks=^?^?}', []), 'CGVector': objc.createStructType('CGVector', sel32or64(b'{CGVector=ff}', b'{CGVector=dd}'), ['dx', 'dy']), 'CGPathElement': objc.createStructType('CGPathElement', sel32or64(b'{CGPathElement=I^{CGPoint=ff}}', b'{CGPathElement=i^{CGPoint=dd}}'), ['type', 'points']), 'CGScreenUpdateMoveDelta': objc.createStructType('CGScreenUpdateMoveDelta', b'{CGScreenUpdateMoveDelta=ii}', ['dX', 'dY']), 'CGEventTapInformation': objc.createStructType('CGEventTapInformation', b'{__CGEventTapInformation=IIIQiiBfff}', ['eventTapID', 'tapPoint', 'options', 'eventsOfInterest', 'tappingProcess', 'processBeingTapped', 'enabled', 'minUsecLatency', 'avgUsecLatency', 'maxUsecLatency']), 'CGPSConverterCallbacks': objc.createStructType('CGPSConverterCallbacks', b'{CGPSConverterCallbacks=I^?^?^?^?^?^?^?}', []), 'CGRect': objc.createStructAlias('CGRect', sel32or64(b'{CGRect={CGPoint=ff}{CGSize=ff}}', b'{CGRect={CGPoint=dd}{CGSize=dd}}'), objc._resolve_name('Foundation.NSRect'))})
  File "/Users/sergioley-languren/Library/Python/3.8/lib/python/site-packages/objc/__init__.py", line 62, in _resolve_name
    return getattr(m, name)
AttributeError: module 'Foundation' has no attribute 'NSPoint'

Как я могу это исправить и имел ли Foundation атрибут NSPoint до Python 3.8 и был ли удален?

...