asweigart / pyautogui

A cross-platform GUI automation Python module for human beings. Used to programmatically control the mouse & keyboard.
BSD 3-Clause "New" or "Revised" License
10.14k stars 1.23k forks source link

MAC M1 symbol not found: can not run #772

Open dane-git opened 1 year ago

dane-git commented 1 year ago

Error: probably related to MAC M1

Installed pyobjc-core and pyobjc module in that order via pip in venv.

System Info

machdep.cpu.brand_string: Apple M1 ProductName: macOS ProductVersion: 12.4 BuildVersion: 21F79

stack trace:

Traceback (most recent call last): File "/Users/anoni/Documents/projects/auto/roiDetector.py", line 12, in import pyautogui as pa
File "/Users/anoni/Documents/projects/auto/venv/lib/python3.10/site-packages/pyautogui/init.py", line 249, in import mouseinfo. File "/Users/anoni/Documents/projects/auto/venv/lib/python3.10/site-packages/mouseinfo/init.py", line 100, in from rubicon.objc import ObjCClass, CGPoint. File "/Users/anoni/Documents/projects/auto/venv/lib/python3.10/site-packages/rubicon/objc/init.py", line 33, in from . import api, collections, runtime, types. File "/Users/anoni/Documents/projects/auto/venv/lib/python3.10/site-packages/rubicon/objc/api.py", line 28, in from .runtime import ( File "/Users/anoni/Documents/projects/auto/venv/lib/python3.10/site-packages/rubicon/objc/runtime.py", line 460, in libobjc.objc_msgSendSuper_stret.restype = None File "/opt/homebrew/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ctypes/init.py", line 387, in getattr func = self.getitem(name) File "/opt/homebrew/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/ctypes/init.py", line 392, in getitem func = self._FuncPtr((name_or_ordinal, self)) AttributeError: dlsym(0x477d926b8, objc_msgSendSuper_stret): symbol not found

Requirements:

MouseInfo==0.1.3 numpy==1.24.2 opencv-python==4.7.0.72 packaging==23.0 Pillow==9.5.0 PyAutoGUI==0.9.53 PyGetWindow==0.0.9 PyMsgBox==1.0.9 pyobjc==9.0.1 pyobjc-core==9.0.1 pyobjc-framework-Accessibility==9.0.1 pyobjc-framework-Accounts==9.0.1 pyobjc-framework-AddressBook==9.0.1 pyobjc-framework-AdServices==9.0.1 pyobjc-framework-AdSupport==9.0.1 pyobjc-framework-AppleScriptKit==9.0.1 pyobjc-framework-AppleScriptObjC==9.0.1 pyobjc-framework-ApplicationServices==9.0.1 pyobjc-framework-AppTrackingTransparency==9.0.1 pyobjc-framework-AudioVideoBridging==9.0.1 pyobjc-framework-AuthenticationServices==9.0.1 pyobjc-framework-AutomaticAssessmentConfiguration==9.0.1 pyobjc-framework-Automator==9.0.1 pyobjc-framework-AVFoundation==9.0.1 pyobjc-framework-AVKit==9.0.1 pyobjc-framework-BusinessChat==9.0.1 pyobjc-framework-CalendarStore==9.0.1 pyobjc-framework-CallKit==9.0.1 pyobjc-framework-CFNetwork==9.0.1 pyobjc-framework-ClassKit==9.0.1 pyobjc-framework-CloudKit==9.0.1 pyobjc-framework-Cocoa==9.0.1 pyobjc-framework-Collaboration==9.0.1 pyobjc-framework-ColorSync==9.0.1 pyobjc-framework-Contacts==9.0.1 pyobjc-framework-ContactsUI==9.0.1 pyobjc-framework-CoreAudio==9.0.1 pyobjc-framework-CoreAudioKit==9.0.1 pyobjc-framework-CoreBluetooth==9.0.1 pyobjc-framework-CoreData==9.0.1 pyobjc-framework-CoreHaptics==9.0.1 pyobjc-framework-CoreLocation==9.0.1 pyobjc-framework-CoreMedia==9.0.1 pyobjc-framework-CoreMediaIO==9.0.1 pyobjc-framework-CoreMIDI==9.0.1 pyobjc-framework-CoreML==9.0.1 pyobjc-framework-CoreMotion==9.0.1 pyobjc-framework-CoreServices==9.0.1 pyobjc-framework-CoreSpotlight==9.0.1 pyobjc-framework-CoreText==9.0.1 pyobjc-framework-CoreWLAN==9.0.1 pyobjc-framework-CryptoTokenKit==9.0.1 pyobjc-framework-DataDetection==9.0.1 pyobjc-framework-DeviceCheck==9.0.1 pyobjc-framework-DictionaryServices==9.0.1 pyobjc-framework-DiscRecording==9.0.1 pyobjc-framework-DiscRecordingUI==9.0.1 pyobjc-framework-DiskArbitration==9.0.1 pyobjc-framework-DVDPlayback==9.0.1 pyobjc-framework-EventKit==9.0.1 pyobjc-framework-ExceptionHandling==9.0.1 pyobjc-framework-ExecutionPolicy==9.0.1 pyobjc-framework-ExternalAccessory==9.0.1 pyobjc-framework-FileProvider==9.0.1 pyobjc-framework-FileProviderUI==9.0.1 pyobjc-framework-FinderSync==9.0.1 pyobjc-framework-FSEvents==9.0.1 pyobjc-framework-GameCenter==9.0.1 pyobjc-framework-GameController==9.0.1 pyobjc-framework-GameKit==9.0.1 pyobjc-framework-GameplayKit==9.0.1 pyobjc-framework-ImageCaptureCore==9.0.1 pyobjc-framework-IMServicePlugIn==9.0.1 pyobjc-framework-InputMethodKit==9.0.1 pyobjc-framework-InstallerPlugins==9.0.1 pyobjc-framework-InstantMessage==9.0.1 pyobjc-framework-Intents==9.0.1 pyobjc-framework-IntentsUI==9.0.1 pyobjc-framework-IOSurface==9.0.1 pyobjc-framework-iTunesLibrary==9.0.1 pyobjc-framework-KernelManagement==9.0.1 pyobjc-framework-LatentSemanticMapping==9.0.1 pyobjc-framework-LaunchServices==9.0.1 pyobjc-framework-libdispatch==9.0.1 pyobjc-framework-LinkPresentation==9.0.1 pyobjc-framework-LocalAuthentication==9.0.1 pyobjc-framework-LocalAuthenticationEmbeddedUI==9.0.1 pyobjc-framework-MailKit==9.0.1 pyobjc-framework-MapKit==9.0.1 pyobjc-framework-MediaAccessibility==9.0.1 pyobjc-framework-MediaLibrary==9.0.1 pyobjc-framework-MediaPlayer==9.0.1 pyobjc-framework-MediaToolbox==9.0.1 pyobjc-framework-Metal==9.0.1 pyobjc-framework-MetalKit==9.0.1 pyobjc-framework-MetalPerformanceShaders==9.0.1 pyobjc-framework-MetalPerformanceShadersGraph==9.0.1 pyobjc-framework-MetricKit==9.0.1 pyobjc-framework-MLCompute==9.0.1 pyobjc-framework-ModelIO==9.0.1 pyobjc-framework-MultipeerConnectivity==9.0.1 pyobjc-framework-NaturalLanguage==9.0.1 pyobjc-framework-NetFS==9.0.1 pyobjc-framework-Network==9.0.1 pyobjc-framework-NetworkExtension==9.0.1 pyobjc-framework-NotificationCenter==9.0.1 pyobjc-framework-OpenDirectory==9.0.1 pyobjc-framework-OSAKit==9.0.1 pyobjc-framework-OSLog==9.0.1 pyobjc-framework-PassKit==9.0.1 pyobjc-framework-PencilKit==9.0.1 pyobjc-framework-Photos==9.0.1 pyobjc-framework-PhotosUI==9.0.1 pyobjc-framework-PreferencePanes==9.0.1 pyobjc-framework-PushKit==9.0.1 pyobjc-framework-Quartz==9.0.1 pyobjc-framework-QuickLookThumbnailing==9.0.1 pyobjc-framework-ReplayKit==9.0.1 pyobjc-framework-SafariServices==9.0.1 pyobjc-framework-SceneKit==9.0.1 pyobjc-framework-ScreenCaptureKit==9.0.1 pyobjc-framework-ScreenSaver==9.0.1 pyobjc-framework-ScreenTime==9.0.1 pyobjc-framework-ScriptingBridge==9.0.1 pyobjc-framework-SearchKit==9.0.1 pyobjc-framework-Security==9.0.1 pyobjc-framework-SecurityFoundation==9.0.1 pyobjc-framework-SecurityInterface==9.0.1 pyobjc-framework-ServiceManagement==9.0.1 pyobjc-framework-ShazamKit==9.0.1 pyobjc-framework-Social==9.0.1 pyobjc-framework-SoundAnalysis==9.0.1 pyobjc-framework-Speech==9.0.1 pyobjc-framework-SpriteKit==9.0.1 pyobjc-framework-StoreKit==9.0.1 pyobjc-framework-SyncServices==9.0.1 pyobjc-framework-SystemConfiguration==9.0.1 pyobjc-framework-SystemExtensions==9.0.1 pyobjc-framework-UniformTypeIdentifiers==9.0.1 pyobjc-framework-UserNotifications==9.0.1 pyobjc-framework-UserNotificationsUI==9.0.1 pyobjc-framework-VideoSubscriberAccount==9.0.1 pyobjc-framework-VideoToolbox==9.0.1 pyobjc-framework-Virtualization==9.0.1 pyobjc-framework-Vision==9.0.1 pyobjc-framework-WebKit==9.0.1 pyperclip==1.8.2 PyRect==0.2.0 PyScreeze==0.1.28 pytesseract==0.3.10 pytweening==1.0.4 rubicon-objc==0.4.5

monkey410 commented 1 year ago

I also have the same issue

crazybaozi commented 8 months ago

me too; FLASK_APP = app.py FLASK_ENV = development FLASK_DEBUG = 0 In folder /Users/xuan.wang/PycharmProjects/flaskProject /Users/xuan.wang/opt/anaconda3/envs/py310/bin/python -m flask run Traceback (most recent call last): File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/runpy.py", line 86, in _run_code exec(code, run_globals) File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/flask/main.py", line 3, in main() File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/flask/cli.py", line 1064, in main cli.main() File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/click/core.py", line 1078, in main rv = self.invoke(ctx) File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/click/core.py", line 1688, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/click/core.py", line 1434, in invoke return ctx.invoke(self.callback, ctx.params) File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/click/core.py", line 783, in invoke return __callback(*args, *kwargs) File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/click/decorators.py", line 92, in new_func return ctx.invoke(f, obj, args, kwargs) File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/click/core.py", line 783, in invoke return callback(*args, **kwargs) File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/flask/cli.py", line 912, in run_command raise e from None File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/flask/cli.py", line 898, in run_command app = info.load_app() File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/flask/cli.py", line 309, in load_app app = locate_app(import_name, name) File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/flask/cli.py", line 219, in locate_app import(module_name) File "/Users/xuan.wang/PycharmProjects/flaskProject/app.py", line 1, in import pyautogui File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/pyautogui/init.py", line 246, in import mouseinfo File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/mouseinfo/init.py", line 100, in from rubicon.objc import ObjCClass, CGPoint File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/rubicon/objc/init.py", line 33, in from . import api, collections, runtime, types File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/rubicon/objc/api.py", line 29, in from .runtime import ( File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/site-packages/rubicon/objc/runtime.py", line 460, in libobjc.objc_msgSendSuper_stret.restype = None File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/ctypes/init.py", line 387, in getattr func = self.getitem(name) File "/Users/xuan.wang/opt/anaconda3/envs/py310/lib/python3.10/ctypes/init.py", line 392, in getitem__ func = self._FuncPtr((name_or_ordinal, self)) AttributeError: dlsym(0x3c1c783b0, objc_msgSendSuper_stret): symbol not found

进程已结束,退出代码1

crossxx-labs commented 7 months ago

I come into the same error on my Mac M1:

AttributeError: dlsym(0x3c00720c0, objc_msgSendSuper_stret): symbol not found

And solved it by doing the following steps.

Close all alive Iterm2 tabs, exit Iterm2. Reopen it and ensure when running arch in Iterm2 terminal, it shows arm64

$ arch
arm64

Then, reinstall pyobjc from github https://github.com/ronaldoussoren/pyobjc/tree/160fec60159649e71bbfad59fbf5a92953910d2c First create a check-out:

$ git clone https://github.com/ronaldoussoren/pyobjc

Then perform the installation:

$ pythonX.Y pyobjc/install.py

Python3.11 prompted error, so I switched to python3.8 Then all works fine. Hope it helps.