adamerose / PandasGUI

A GUI for Pandas DataFrames
MIT No Attribution
3.17k stars 229 forks source link

`pynput` related import failure #176

Open padraic-mcatee opened 2 years ago

padraic-mcatee commented 2 years ago

Describe the bug
Import is failing as follows (it may be related to this issue: https://github.com/moses-palmer/pynput/issues/420):

>>> from pandasgui import show
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-1-488ae1300181> in <module>
----> 1 from pandasgui import show

~/miniconda3/envs/py38/lib/python3.8/site-packages/pandasgui/__init__.py in <module>
     13
     14 # Imports
---> 15 from pandasgui.gui import show
     16
     17 __all__ = ["show", "__version__"]

~/miniconda3/envs/py38/lib/python3.8/site-packages/pandasgui/gui.py in <module>
     15 from pandasgui.widgets.find_toolbar import FindToolbar
     16 from pandasgui.widgets.json_viewer import JsonViewer
---> 17 from pandasgui.widgets.navigator import Navigator
     18 from pandasgui.widgets.figure_viewer import FigureViewer
     19 from pandasgui.widgets.settings_editor import SettingsEditor

~/miniconda3/envs/py38/lib/python3.8/site-packages/pandasgui/widgets/navigator.py in <module>
     22         return win32api.GetKeyState(0x01) not in [0, 1]
     23 else:
---> 24     from pynput import mouse
     25
     26

~/miniconda3/envs/py38/lib/python3.8/site-packages/pynput/__init__.py in <module>
     38
     39
---> 40 from . import keyboard
     41 from . import mouse

~/miniconda3/envs/py38/lib/python3.8/site-packages/pynput/keyboard/__init__.py in <module>
     29
     30
---> 31 backend = backend(__name__)
     32 KeyCode = backend.KeyCode
     33 Key = backend.Key

~/miniconda3/envs/py38/lib/python3.8/site-packages/pynput/_util/__init__.py in backend(package)
     68     for module in modules:
     69         try:
---> 70             return importlib.import_module('._' + module, package)
     71         except ImportError as e:
     72             errors.append(e)

~/miniconda3/envs/py38/lib/python3.8/importlib/__init__.py in import_module(name, package)
    125                 break
    126             level += 1
--> 127     return _bootstrap._gcd_import(name[level:], package, level)
    128
    129

~/miniconda3/envs/py38/lib/python3.8/site-packages/pynput/keyboard/_darwin.py in <module>
     49     NSSystemDefined)
     50
---> 51 from pynput._util.darwin import (
     52     get_unicode_to_keycode_map,
     53     keycode_context,

~/miniconda3/envs/py38/lib/python3.8/site-packages/pynput/_util/darwin.py in <module>
     58 OBJC = ctypes.PyDLL(objc._objc.__file__)
     59
---> 60 OBJC.PyObjCObject_New.restype = ctypes.py_object
     61 OBJC.PyObjCObject_New.argtypes = [ctypes.c_void_p, ctypes.c_int, ctypes.c_int]
     62

~/miniconda3/envs/py38/lib/python3.8/ctypes/__init__.py in __getattr__(self, name)
    392         if name.startswith('__') and name.endswith('__'):
    393             raise AttributeError(name)
--> 394         func = self.__getitem__(name)
    395         setattr(self, name, func)
    396         return func

~/miniconda3/envs/py38/lib/python3.8/ctypes/__init__.py in __getitem__(self, name_or_ordinal)
    397
    398     def __getitem__(self, name_or_ordinal):
--> 399         func = self._FuncPtr((name_or_ordinal, self))
    400         if not isinstance(name_or_ordinal, int):
    401             func.__name__ = name_or_ordinal

AttributeError: dlsym(0x7fa65c2a9120, PyObjCObject_New): symbol not found

Environment OS: OSX Big Sur 11.6 Python: 3.8.5 IDE: Jupyter

Package versions

hdijupyterutils==0.19.0
ipython @ file:///opt/concourse/worker/volumes/live/26969e8f-c9f7-42dc-6ffb-b3effd424c49/volume/ipython_1604101242376/work
ipython-genutils @ file:///tmp/build/80754af9/ipython_genutils_1606773439826/work
jupyter==1.0.0
jupyter-client @ file:///tmp/build/80754af9/jupyter_client_1601311786391/work
jupyter-console==6.4.0
jupyter-core @ file:///opt/concourse/worker/volumes/live/e8302867-5dbe-440b-7a37-f61bacc38ed8/volume/jupyter_core_1606148993907/work
jupyter-server==1.11.1
jupyter-server-proxy==3.1.0
jupyterlab==3.2.1
jupyterlab-pygments @ file:///home/conda/feedstock_root/build_artifacts/jupyterlab_pygments_1601375948261/work
jupyterlab-server==2.8.2
notebook @ file:///Users/runner/miniforge3/conda-bld/notebook_1605103840966/work
pandasgui @ git+https://github.com/adamerose/pandasgui.git@aa9c366882ec17dcf8531947631a602b486c9253
plotly==4.14.0
PyQt5==5.15.6
PyQt5-Qt5==5.15.2
PyQt5-sip==12.9.0
PyQtWebEngine==5.15.5
PyQtWebEngine-Qt5==5.15.2
chadkennedyonline commented 2 years ago

Looks like this should be fixed in the latest version of pynput per the link you cited. Can you update pynput and try again?