Numpy version mismatch after Cryosparc update from 4.3.1 to 4.4.0

Hello everyone,

I have been trying to figure out a fix for this issue for the last few days now, but with no success. After updating cryosparc from 4.3.1 to 4.4.0 and udpating my graphics drivers, I am no longer able to run any jobs. When I start a worker test job, I get a non-descript launch error, in the Terminal (LAUNCH Error: See P53 J141 for more information) and the run log in the cryosparc gui also just states that a kill signal from an unknown user was sent. When I go into the metadata log, I find the following message:

================= CRYOSPARCW ======= 2023-11-15 10:06:45.816275 =========
Project P53 Job J141
Master lili3 Port 39002

========= monitor process now starting main process at 2023-11-15 10:06:45.816297
RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
Traceback (most recent call last):
File “”, line 1, in
File “cryosparc_master/cryosparc_compute/run.py”, line 175, in cryosparc_master.cryosparc_compute.run.run
File “/software/csparc/cryosparc_worker/cryosparc_compute/jobs/init.py”, line 10, in
from . import runcommon # noqa
File “/software/csparc/cryosparc_worker/cryosparc_compute/jobs/runcommon.py”, line 63, in
from …blobio import mrc
File “/software/csparc/cryosparc_worker/cryosparc_compute/blobio/mrc.py”, line 15, in
from . import cryosparc_io
ImportError: numpy.core.multiarray failed to import
MAINPROCESS PID 7550
RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
Process Process-1:
Traceback (most recent call last):
File “/software/csparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/multiprocessing/process.py”, line 315, in _bootstrap
self.run()
File “/software/csparc/cryosparc_worker/deps/anaconda/envs/cryosparc_worker_env/lib/python3.8/multiprocessing/process.py”, line 108, in run
self._target(*self._args, **self._kwargs)
File “cryosparc_master/cryosparc_compute/run.py”, line 29, in cryosparc_master.cryosparc_compute.run.main
File “/software/csparc/cryosparc_worker/cryosparc_compute/jobs/init.py”, line 10, in
from . import runcommon # noqa
File “/software/csparc/cryosparc_worker/cryosparc_compute/jobs/runcommon.py”, line 63, in
from …blobio import mrc
File “/software/csparc/cryosparc_worker/cryosparc_compute/blobio/mrc.py”, line 15, in
from . import cryosparc_io
ImportError: numpy.core.multiarray failed to import

I tried to update numpy to the newest version (1.26.2) which did not work, and I tried downgrading it to the version that our other processing machine still running on 4.3.1 is using (1.16.6), but to no avail. I could not find any other threads on this topic, and I was hoping to see if anyone else has encountered this issue and how best to proceed without having to reinstall everything.

I have tried to force dependencies on the master, but this also did not fix the described issue.

Welcome to the forum @michaeladams.

CryoSPARC is expected to automatically manage the version of its numpy dependency inside the CryoSPARC environment.

It is possible that part of the software update has failed. Does cryosparc_master/run/update.log include hints about the step where the update failed?

You may initially try running the command

/path/to/cryosparc_worker/bin/cryosparcw forcedeps

If this command fails itself or fails to resolve the runtime and import errors, you can try:

cd cryosparc_worker/
LICENSE_ID="your-cryosparc-license-id"
curl -L https://get.cryosparc.com/download/worker-latest/$LICENSE_ID -o cryosparc_worker.tar.gz
./bin/cryosparcw update --override

Hello @wtempel, thanks a lot for the welcome and your assistance. I have tried forcing the dependencies before, but unsuccessfully. In the end, I decided to backup the database and do a clean install, which seems to have resolved the issue because I can run jobs without any issues now.