diff -r f1fb93eebb1d -r 198f78a52a2f mercurial/util.py --- a/mercurial/util.py Sun Jan 10 17:56:08 2016 -0500 +++ b/mercurial/util.py Sun Jan 10 18:15:39 2016 -0500 @@ -2044,7 +2044,11 @@ get either the python call or current executable. """ if mainfrozen(): - return [sys.executable] + if getattr(sys, 'frozen', None) == 'macosx_app': + # Env variable set by py2app + return [os.environ['EXECUTABLEPATH']] + else: + return [sys.executable] return gethgcmd() def rundetached(args, condfn):