python3.7环境下jupyter notebook安装matlab内核完全指南(Centos)

文章目录

  • 无图形界面安装matlab
    • 下载matlab2017 linux的破解版安装包
    • 解压分卷文件
    • 解压破解文件
    • 挂载镜像
    • 预处理
    • 安装
    • 激活
    • 破解
    • 去挂载
    • 配置环境变量
  • 为notebook安装matlab支持
    • 错误处理
      • 查看动态库
      • 查找更高版本的链接库
  • 参考文章

因为想给自己的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下了
python3.7环境下jupyter notebook安装matlab内核完全指南(Centos)_第1张图片

挂载镜像

解压出来的文件是R2017b_glnxa64.iso

mount -o loop R2017b_glnxa64.iso /media/matlab(/media/matlab是挂载路径,可以自己改)

预处理

  1. 复制一份activate.ini

`cp /media/matlab/activate.ini /root/MATLAB_R2017b_Linux/

(随便你复制到哪里,反正下面用的时候要找到)

  1. 给写权限

sudo chmod +w /root/MATLAB_R2017b_Linux/activate.ini

  1. 编辑

vim /root/MATLAB_R2017b_Linux/activate.ini

这里的licensekey是这个:09806-07443-53955-64350-21751-41297

python3.7环境下jupyter notebook安装matlab内核完全指南(Centos)_第2张图片

安装

  1. 进入/media/matlab目录安装(或者上一步你修改的)
  2. 输入以下命令安装
./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:安装目录
  1. 等待安装完成

激活

  1. 进入目录:/usr/local/matlab2017b/bin
  2. ./activate_matlab.sh -propertiesFile /home/gpu-server02/software/MATLAB_R2017b_Linux/MATLABR2017b_Linux_Crack/activate.ini
  3. 显示静默激活成功(Slient activation succeeded),完成激活

这一步我做的时候失败了,不过好像不影响,你们可以试试

破解

  1. cp /root/MATLAB_R2017b_Linux/libmwservices.so /usr/local/matlab2017b/glnxa64/
  2. 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支持

  1. 安装kernel:pip3 install matlab_kernel

  2. 进入matlab自带的python engine所在目录:cd /usr/local/matlab2017/extern/engines/python

  3. 如果直接使用python3 setup.py install,可能会看到3.7版本不支持(R2017b),所以我们修改成支持的

  4. 添加python3.7的支持:sudo vim steup.py,修改文件如下

python3.7环境下jupyter notebook安装matlab内核完全指南(Centos)_第3张图片

  1. 修改完成后使用python3 ./steup install安装

  2. 安装完成后修改__init__.py文件:vim /opt/anaconda3/lib/python3.7/site-packages/matlab/engine/__init__.py

    修改成如下图的样子,注意缩进使用空格不要用制表符

python3.7环境下jupyter notebook安装matlab内核完全指南(Centos)_第4张图片

这里是为了让在python3.7的情况下引入3.6的依赖包

  1. 修改kernel.py文件:vim /opt/anaconda3/lib/python3.7/site-packages/matlab_kernel/kernel.py

python3.7环境下jupyter notebook安装matlab内核完全指南(Centos)_第5张图片

这里是使用字典来传参,因为在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版本

python3.7环境下jupyter notebook安装matlab内核完全指南(Centos)_第6张图片

查找更高版本的链接库

find / -name "libstdc++.so.*"

结果 在anaconda中找到了更高版本的链接库

1555084416309

我们把它复制到所需要的文件夹

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

python3.7环境下jupyter notebook安装matlab内核完全指南(Centos)_第7张图片

有了我们所需的版本,这样就能愉快的在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

你可能感兴趣的:(教程,jupyter,notebook)