Skip to content

About Munki's Embedded Python

Greg Neagle edited this page Mar 5, 2024 · 4 revisions

About Munki's Embedded Python

Munki 4 and above embeds its own Python 3 framework and does not rely on Apple's Python installation.

The included framework is created via this tool. The Python framework it builds is based on a Python.org release, and adds PyObjC, xattr, and other needed modules to the installed Python modules.

The "embedded" Python framework is installed by default to /usr/local/munki/Python.framework.

The command-line tools have their "she-bang" line set to #!/usr/local/munki/munki-python.
/usr/local/munki/munki-python is a symlink to Python.framework/Versions/Current/bin/python3 in Munki releases prior to 6.5. In Munki 6.5, which updated the Python framework to version 3.12.2, the symlink points to Python.framework/Versions/Current/Resources/Python.app/Contents/MacOS/Python. This change avoids issues with Python 3.11 and above when the previous symlink was used.

This arrangement has a few implications.

If you have your own customized Python 3 you'd like Munki to use, you can replace the symlink at /usr/local/munki/munki-python with one pointing to your own Python. You could also decide then to not install Munki's embedded Python at all. Munki's embedded Python is a optional component package within the Munkitools distribution package.

Introduction

Munki 6.1

Munki 6

Munki 5

Managed Software Center

Command-line Tools

Munki configuration

Manifests

Catalogs

Pkginfo

More Munki Features

Advanced Munki

Related tasks

More

Product-specific notes

Legacy Documentation

Clone this wiki locally