Python link evaporates after upgrading to Monterey

Hey Chris,

I’ve avoided upgrading to Monterey as long as my IT department would allow, but Friday I had to do it on one of our Mworks macs and it seems to have caused an issue when we try to run a Python script to push a stimulus list into mworks. It errors when trying to initialize the IPCClientConduit server. At first I figured it was a broken link, but the link to Mworks/Scripts folder is included locally in the file, so now I’m a bit dumbfounded. Any idea what might be happening?

to help, the exact error is
client = IPCClientConduit(‘server_conduit’)
RuntimeError: No such file or directory

update - after trying to initialize mworks (I haven’t opened eyelink so it was fated to fail, I’m doing this remotely) I was able to get to the next step:
Sending stimulus list 10Nov23
Traceback (most recent call last):
File “sendStimList.py”, line 53, in
client.send_data(client.reverse_codec[‘useImportedList’], 1) # flag to use the list being sent!
RuntimeError: Timeout while waiting for remote codec

which means that it was able to connect to the server, but then hickuped on the client.reverse_codec class. Tomorrow morning I’ll try to run it after the experiment successfully loads into mworks and see if it can establish and send the file, fingers crossed!

sendStimList.py (1.8 KB)

Hi Travis,

Tomorrow morning I’ll try to run it after the experiment successfully loads into mworks and see if it can establish and send the file

If the experiment isn’t loaded, your Python script is definitely going to fail one way or another. In order to exchange data with MWServer, IPCClientConduit requires a server-side conduit in your experiment. If the experiment isn’t loaded, then no server-side conduit is available, and IPCClientConduit’s attempts to communicate with it will fail.

I suspect that things will work once you load your experiment successfully, but if not, please let me know!

Cheers,
Chris

Hi Chris,

You’re right! I could’ve swore I was able to run this script without mworks running, but the server must’ve always been running in the background, because I was able to load the stimlist once the experiment loaded! Woohoo

Thanks!