Error when running code in EditGlyphData

Traceback (most recent call last):
  File "<internal>", line 1
ModuleNotFoundError: No module named 'objc'
Traceback (most recent call last):
  File "macro panel", line 4
NameError: name 'GSGlyphInfo' is not defined

When I try to run the code I have to add entries to an EditGlyphData GlyphData.xml file I receive this error.

The error
No module named "objc"
indicates that something is wrong with your Python installation. What version do you have installed under Preferences > Addons? You need the Python version that has (Glyphs) after the version number.
Check that you have all modules installed as well.

EditGlyphData doesn’t allow to select the python version. It picks one installed in the system. Make sure that pyobjc is installed there.

My bad. I didn’t read properly and realise this is about EditGlyphData. Thanks.

The default Glyphs version of Python is already enabled.

As for addons, I have these two installed.

The setting in Glyphs has nothing to do with Edit Glyph Data. It can only use a version that is installed in the system.

What should I do to try and make it work again then?

How do I make sure that pyobjc is installed there?

Check what python version you get in EditGlyphData. Then do pip3.XX install pyobjc (replace XX with the python version you have) in Terminal.

How do I check which version I have in EditGlyphData?

Running which python3.11 only shows the 3.11.6 Homebrew install and not the 3.11.9 Glyphs install. I have not been able to figure out how to install pyobjc to the Glyphs install.

The glyphs python is only usable from within Glyphs. Everywhere else you need to use the version that is installed in the system.
You can run pip from a script. Try this in the macro window of EditGlyphData:

from pip._internal.cli.main import main as pip_main
pip_main(["install", "pyobjc"])

Running that gave me this error.

Traceback (most recent call last):
  File "<internal>", line 1
ModuleNotFoundError: No module named 'objc'
error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try brew install
    xyz, where xyz is the package you are trying to
    install.
    
    If you wish to install a Python library that isn't in Homebrew,
    use a virtual environment:
    
    python3 -m venv path/to/venv
    source path/to/venv/bin/activate
    python3 -m pip install xyz
    
    If you wish to install a Python application that isn't in Homebrew,
    it may be easiest to use 'pipx install xyz', which will manage a
    virtual environment for you. You can install pipx with
    
    brew install pipx
    
    You may restore the old behavior of pip by passing
    the '--break-system-packages' flag to pip, or by adding
    'break-system-packages = true' to your pip.conf file. The latter
    will permanently disable this error.
    
    If you disable this error, we STRONGLY recommend that you additionally
    pass the '--user' flag to pip, or set 'user = true' in your pip.conf
    file. Failure to do this can result in a broken Homebrew installation.
    
    Read more about this behavior here: <https://peps.python.org/pep-0668/>

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

I use the python from python.org. And I even have multiple versions installed. And that works well for me. Maybe the version from home-brew is missing some pieces?