因为想给自己的centos服务器上搭建比较完备的jupyter notebook,今天准备安装matlab的kernel,可是遇到了很多问题,下面记录一下并且给之后的人一些指导
我的阿里云Centos学生机显然是没有界面的,通过csdn上的一篇博客完成了这一步,下面给出步骤
https://pan.baidu.com/s/1wijZCXIWsNXgz0yYYBXHnQ 密码:e8b2
因为下载下来是分卷文件,所以我们先合成一个压缩包
cat R2017b_glnxa64.z01 R2017b_glnxa64.z02 R2017b_glnxa64.zip > full.zip
然后用unzip命令解压,中间有报错会尝试自动修复,可以不用管
unzip full.zip
unrar MATLABR2017b_Linux_Crack.rar
解压出来的文件是R2017b_glnxa64.iso
mount -o loop R2017b_glnxa64.iso /media/matlab
(/media/matlab是挂载路径,可以自己改)
activate.ini
`cp /media/matlab/activate.ini /root/MATLAB_R2017b_Linux/
(随便你复制到哪里,反正下面用的时候要找到)
sudo chmod +w /root/MATLAB_R2017b_Linux/activate.ini
vim /root/MATLAB_R2017b_Linux/activate.ini
这里的licensekey是这个:09806-07443-53955-64350-21751-41297
/media/matlab
目录安装(或者上一步你修改的)./install -mode silent -fileInstallationKey 09806-07443-53955-64350-21751-41297 -agreeToLicense yes -activationPropertiesFile /root/MATLAB_R2017b_Linux/activate.ini -destinationFolder /usr/local/matlab2017b
activationPropertiesFile
:写你上一步编辑的activate.ini的路径destinationFolder
:安装目录/usr/local/matlab2017b/bin
./activate_matlab.sh -propertiesFile /home/gpu-server02/software/MATLAB_R2017b_Linux/MATLABR2017b_Linux_Crack/activate.ini
这一步我做的时候失败了,不过好像不影响,你们可以试试
cp /root/MATLAB_R2017b_Linux/libmwservices.so /usr/local/matlab2017b/glnxa64/
cp /root/MATLAB_R2017b_Linux/license_standalone.lic /usr/local/matlab2017b/bin/licenses/
umount -l /media/matlab/
sudo vim /etc/profile
$PATH=PATH:/usr/locala/matlab2017/bin
source /etc/profile
现在输入matlab应该就可以启动matlab的命令行交互界面啦~
安装kernel:pip3 install matlab_kernel
进入matlab自带的python engine所在目录:cd /usr/local/matlab2017/extern/engines/python
如果直接使用python3 setup.py install,可能会看到3.7版本不支持(R2017b),所以我们修改成支持的
添加python3.7的支持:sudo vim steup.py
,修改文件如下
修改完成后使用python3 ./steup install
安装
安装完成后修改__init__.py
文件:vim /opt/anaconda3/lib/python3.7/site-packages/matlab/engine/__init__.py
修改成如下图的样子,注意缩进使用空格不要用制表符
这里是为了让在python3.7的情况下引入3.6的依赖包
kernel.py
文件:vim /opt/anaconda3/lib/python3.7/site-packages/matlab_kernel/kernel.py
这里是使用字典来传参,因为在python3.7,async
是关键词
中途如果有缺失so文件的问题,可以自行去yum里下载所需要的文件
本来到这里应该没什么问题了,可是我这里遇见了version CXXABI_1.3.9 not found
的问题
下面说说怎么处理
这里是matlab安装目录下的文件版本低的问题,所以我们在安装目录下查看
strings /usr/local/matlab2017b/sys/os/glnxa64/libstdc++.so.6 | grep CXXABI
结果大概是这样,反正没有需要的1.3.9版本
find / -name "libstdc++.so.*"
结果 在anaconda中找到了更高版本的链接库
我们把它复制到所需要的文件夹
cp -f /opt/anaconda3/lib/libstdc++.so.6 /usr/local/matlab2017b/sys/os/glnxa64/
再次查看
strings /usr/local/matlab2017b/sys/os/glnxa64/libstdc++.so.6 | grep CXXABI
有了我们所需的版本,这样就能愉快的在notebook里使用matlab啦~
https://blog.csdn.net/zx714311728/article/details/69628836
https://jingyan.baidu.com/album/4853e1e5b962ac1909f726ea.html
https://blog.csdn.net/Xiao_Song_PKU/article/details/82700228