Search code examples
pythonmacospython-3.xpython-3.5pyautogui

pip3 install pyautogui fails with error code 1 Mac OS


I tried installing the autogui python extension:

pip3 install pyautogui

And this installation attempt results in the following error message:

Collecting pyautogui
  Using cached PyAutoGUI-0.9.33.zip
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/private/var/folders/00/zcr6mkx90hg7kr4x_ks6nhhw0000gn/T/pip-build-edy15oyn/pyautogui/setup.py", line 6, in <module>
        version=__import__('pyautogui').__version__,
      File "/private/var/folders/00/zcr6mkx90hg7kr4x_ks6nhhw0000gn/T/pip-build-edy15oyn/pyautogui/pyautogui/__init__.py", line 110, in <module>
        from . import _pyautogui_osx as platformModule
      File "/private/var/folders/00/zcr6mkx90hg7kr4x_ks6nhhw0000gn/T/pip-build-edy15oyn/pyautogui/pyautogui/_pyautogui_osx.py", line 4, in <module>
        import Quartz
      File "/usr/local/lib/python3.5/site-packages/Quartz/__init__.py", line 5, in <module>
        import objc
      File "/usr/local/lib/python3.5/site-packages/objc/__init__.py", line 18, in <module>
        _update()
      File "/usr/local/lib/python3.5/site-packages/objc/__init__.py", line 15, in _update
        import objc._objc as _objc
    ImportError: dlopen(/usr/local/lib/python3.5/site-packages/objc/_objc.cpython-35m-darwin.so, 2): Symbol not found: _PyObject_REPR
      Referenced from: /usr/local/lib/python3.5/site-packages/objc/_objc.cpython-35m-darwin.so
      Expected in: flat namespace
     in /usr/local/lib/python3.5/site-packages/objc/_objc.cpython-35m-darwin.so

    ----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/00/zcr6mkx90hg7kr4x_ks6nhhw0000gn/T/pip-build-edy15oyn/pyautogui

My Mac OS version is OS X El Capitan 10.11.3, my Python3 version is 3.5.1, and my pip3 version is pip 8.0.2.

There seems to be a similar question on Stackoverflow (Cannot install pip install pyautogui, error code 1), but the fix does not apply to my problem; I have already installed "pillow". Also, I have read the documentation (https://pypi.python.org/pypi/PyAutoGUI), and installed pyobjc-core as well as pyobjc. Setuptools are installed and up-to-date.

Does anyone have an idea how to fix this error (and install pyautogui)? I think the error might originate, because _PyObject_REPR is missing in Python 3.5.1.


Solution

  • I found a workaround. This code by "Kentzo" fixed the issue for me:

    pip3 install https://github.com/GreatFruitOmsk/pyobjc-core/releases/download/v3.0.5.dev0/pyobjc-core-3.0.5.tar.gz
    

    Since the code is not written by me, please use this workaround at your own risk.