Trying to install Node on Mac M1 14.2.1

I’m trying to test out Node for Mac as it appears to be a better solution than desktop and I wanted to avoid Rosetta via docker.

I got through all the Homebrew elements, and downloaded photostructure but ran into an issue on the ./ command

~/photostructure-for-servers % ./ – INSERT –
Traceback (most recent call last):
File “”, line 1, in
ModuleNotFoundError: No module named ‘distutils’
error: externally-managed-environment

At a loss of where to go from here.

Howdy, and welcome to PhotoStructure!

Make sure you’re following these instructions:

You need to be on the alpha or beta branch to pick up the fix for distutils.

I did that including the git checkout alpha. I just did that again and it told me I was on alpha

~/photostructure-for-servers % git checkout alpha – INSERT –
Already on ‘alpha’
Your branch is up to date with ‘origin/alpha’.
:record_button: ~/photostructure-for-servers % ./ – INSERT –
Traceback (most recent call last):
File “”, line 1, in
ModuleNotFoundError: No module named ‘distutils’

The Python version that Brew has installed is 3.12.3 if that makes any difference.

Since I can’t seem to get Docker to run without the DB issues I mentioned in the other thread I’m back to playing with Node. Any thoughts on getting around the 3.12.3 distutils issue? As indicated above, it tells me I’m on the Alpha build so that doesn’t seem to be the issue.

Just purged and tried to reinstall node for MACOS again from scratch. Came up with the same distutils error even though I did the git checkout alpha as shown below. Really pulling my hair out here.

~/photostructure-for-servers % git checkout alpha branch ‘alpha’ set up to track ‘origin/alpha’.
Switched to a new branch ‘alpha’
:record_button: ~/photostructure-for-servers % ./ – Traceback (most recent call last):
File “”, line 1, in
ModuleNotFoundError: No module named ‘distutils’
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

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: <>

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.
“python3 -m pip install setuptools” failed.
Please refer to PhotoStructure | PhotoStructure for Node .
You can also visit for help.

Oh man, apologies for the problems getting this going!

python module installation can be a bit of a jungle, especially on macOS where it might be from brew or from macOS itself.

If you’re using homebrew, have you tried brew install python-setuptools?

I think I should edit the script to detect homebrew and do that automatically, especially if that makes it work on your box.

Thanks, I’ll give that a try. I’ve never delved into the world of Python, sticking with AppleScript, JavaScript and a bunch of now dead legacy languages LOL.

That definitely solved the DISTUTILS issue I was having thanks!

Now I’ve got a health check flag:

“Could not check for minimum disk free: no volume found for library path.”

I’m running a folder directly out of my Home directory: /Users/myuser/photostructuredb

Worked fine under Docker but Node doesn’t seem to like it. I set up an empty folder, and it set up the .photostructure directory just fine, so not sure what it doesn’t like. Thoughts?

Can you dm the results of running ./ info --volumes --debug?

It’s over 100k, so it rejects … can I email the debug?

Yes: a logfile should be available here that you can email