Midi Error: spawn python3 ENOENT (python not found) SOLVED!

Hello Guys, I know that this post is about windows but I have a problem in my Mac, I followed step by step the documentation in OSC Site but I didn’t get any solution.

If I launch OSC using node, when I ask for the midi list, it doesn’t show any information, if I launch the Mac OS version, it launch some error.

A JavaScript error occurred in the main process: Uncaught Exception: Error: spawn python3 ENOENT at exports._errnoException (util.js:1024:11) at Process.ChildProcess._handle.onexit (internal/child_process.js:192:19) at onErrorNT (internal/child_process.js:374:16) at _combinedTickCallback (internal/process/next_tick.js:138:11) at process._tickCallback (internal/process/next_tick.js:180:9)

Using the terminal I tried a lot of commands to change and install python and some else like rtmidi, I used brew to change something about the python version and nothing work, I have installed the last python’s version and it show it.

I have formatted my Mac a lot of times, downloaded severals python versions, I tried to run with node running from sources, and building from sources and… nothing works, the worst thing is that I couldn’t find any post with the same situation using MAC, can somebody help me?

I’m not familiar with python on mac but this looks like the executable can’t be found, likely because it’s not in your shell path, have you executed the Update Shell Profile.command script in the /Applications/Python 3.x directory ? (https://stackoverflow.com/questions/3895756/installed-python3-getting-command-not-found-error-in-terminal)

Yes I did it, but it doesn’t work

Hmm I’m afraid I don’t how to debug that, but I might be able to mitigate the issue by providing a way to define the python binary path manually before running open-stage-control.

v0.47.1 is being uploaded, you’ll be able to specify python’s location manually by adding path=/usr/local/bin/python to you midi configuration.

I can’t to find this option on OSC, where did you put this one ?
I launched the 0.47.1 prebuilt for mac and the node command install.

You can add it in the midi option.

For example you’d write device_name:1,1 path=/usr/local/bin/python

As I don’t know what is the complete name an number about my midi port, I put exactly what you write to see if it run but…
I got a New error about rtmidi, let me check it

I installet rtmidi 1.3.1 the last version, I will to try it with the 1.2.1 this one is what you said in the doc

ERROR: MIDI: python-rtmidi not found (or wrong version)
Running with python version 3.7.4 (v3.7.4:e09359112e, Jul 8 2019, 14:54:52)
[Clang 6.0 (clang-600.0.57)]

I think that we have one more step walked XD XD XD but there is something wrong about rtmidi and this is not about version because a tested it with rtmidi 1.2.0 and 1.3.0

1.2.1 was the minimal working version but 1.3.1 is fine, I’ll update the docs. If you are using python3 you have to install rtmidi for python 3 by running pip3 install python-rtmidi (docs updated).

It launch the OSC normally but when I try to list midi devices says the same last error.

A JavaScript error occurred in the main process: Uncaught Exception:
Error: spawn python3 ENOENT
at exports._errnoException (util.js:1024:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:192:19)
at onErrorNT (internal/child_process.js:374:16)
at _combinedTickCallback (internal/process/next_tick.js:138:11)
at process._tickCallback (internal/process/next_tick.js:180:9)

Hmm, the device list function doesn’t take the path option into account… todo


After launch osc without ask for midi list, I put this midi name and number and played something with my Alesis Midi keyboard and the OSC console is reading it, OSC is working but it is no showing the midi list.

If it weren’t working, my keyboard couldn’t be readed by OSC, I will to try changing the number of port one by one to see if I can found the correct one without interference between you can repair it

The launcher’s context menu action will be fixed in next version, meanwhile you can circumvent the issue by adding the list option token to the midi option, the device list will be printed while OSC starts.

Yeeeeeeeees, the list token works

I will to make a tutorial with all of solutions to put it on control foro, there a guy with the same problem.

Hi Jorge & Jean-emmanuel.

That’s very good news!
I’m not sure I understood all the poccess, if you can do tutorial step by step for Mac users it’s great.
Zig