1. 这个链接下载MATLAB Compiler Runtime
  2. 这个连接下载SPM Standalone
  3. 运行./MCRInstaller.bin的时候遇到 No Java Runtime Environment(JRE) was found on this system. 使用sudo apt install openjdk-11-jre尝试解决,发现解决不了!可以去看这个讨论

Docker安装SPM

1
2
FROM ghcr.io/spm/spm-docker:docker-matlab
...

需要覆盖ENTRYPOINT,否则会报这个错误:

1
2
3
4
spm12-worker-1  | Error in spm_cli (line 56)
spm12-worker-1 | Error in spm_standalone (line 157)
spm12-worker-1 | Error using spm_cli (line 56)
spm12-worker-1 | Cannot find module python3.

原因是:基础镜像 ghcr.io/spm/spm-docker:docker-matlab 自带的 ENTRYPOINT 是类似

1
/opt/spm12/run_spm12.sh /opt/mcr/v97/ script

Dockerfile只加CMD会产生

1
/opt/spm12/run_spm12.sh /opt/mcr/v97 script python3 main.py

另外,nipype的input/output节点最好都用上绝对路径Path.resolve()