文章目录
因为想给自己的centos服务器上搭建比较完备的jupyter notebook,今天准备安装matlab的kernel,可是遇到了很多问题,下面记录一下并且给之后的人一些指导
无图形界面安装matlab
我的阿里云Centos学生机显然是没有界面的,通过csdn上的一篇博客完成了这一步,下面给出步骤
下载matlab2017 linux的破解版安装包
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这里我解压到了
/root/MATLAB_R2017b_Linux下了
挂载镜像
解压出来的文件是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- 显示静默激活成功(Slient activation succeeded),完成激活
这一步我做的时候失败了,不过好像不影响,你们可以试试
破解
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的命令行交互界面啦~
为notebook安装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


&spm=1001.2101.3001.5002&articleId=89266099&d=1&t=3&u=19b6771cff0d4254b047a53e0d7317db)
1万+

被折叠的 条评论
为什么被折叠?



