As of macOS Monterey 12.3, the version of Python 2 that shipped with macOS located at /usr/bin/pythonhas been removed. More context can be found in some posts from Mac admins at the beginning of 2022, aggregated here.
Since version 2.0.2, AutoPkg's installer has included its own Python 3 framework, symlinked from /usr/local/autopkg/python. Similarly, Munki ships with its own Python 3 framework, symlinked from /usr/local/munki/munki-python. This pull request adjusts the shebang and interpreter paths of processors, pre/post install scripts, and other files to replace /usr/bin/python with the AutoPkg or Munki Python 3 symlinks as appropriate.
NOTE: Because AutoPkg processors are imported as modules by AutoPkg and not executed directly, processors' shebang has no effect in normal usage. However: (a) some people execute processors directly during testing, and these tests won't work unless the shebang points to a valid Python 3, and (b) having instances of /usr/bin/python in the codebase could lead to confusion for people not deeply familiar with processor behavior.
As of macOS Monterey 12.3, the version of Python 2 that shipped with macOS located at
/usr/bin/python
has been removed. More context can be found in some posts from Mac admins at the beginning of 2022, aggregated here.Since version 2.0.2, AutoPkg's installer has included its own Python 3 framework, symlinked from
/usr/local/autopkg/python
. Similarly, Munki ships with its own Python 3 framework, symlinked from/usr/local/munki/munki-python
. This pull request adjusts the shebang and interpreter paths of processors, pre/post install scripts, and other files to replace/usr/bin/python
with the AutoPkg or Munki Python 3 symlinks as appropriate.NOTE: Because AutoPkg processors are imported as modules by AutoPkg and not executed directly, processors' shebang has no effect in normal usage. However: (a) some people execute processors directly during testing, and these tests won't work unless the shebang points to a valid Python 3, and (b) having instances of
/usr/bin/python
in the codebase could lead to confusion for people not deeply familiar with processor behavior.