• Win,M1Mac上安装jupyter的MATLAB支持插件的方法



    tags: MATLAB Win Mac Tips

    写在前面

    11月的最后一天了, 总结一下支持MATLAB的一个jupyter的插件, 有了这个你就可以在jupyter notebook或者jupyter lab上面使用MATLAB语句了, 还是很不错的, 虽然我安装了好久…

    下面来说一下我在我的电脑以及朋友的电脑(Win11)上面安装这个插件的具体方法. 环境配置如下:

    MacOS 12.6 arm64 M1
    MATLAB 2022a update 1
    Python3.8 with ibrew(Intel brew by Rosetta2)

    以及:

    Windows11 amd64
    MATLAB 2017a
    Python3.5 with mini-conda

    主要的安装方法我参考了MATLAB-proxy的GitHub主页1,(用的人真的少, 所以支持也不算很好, 比较慢), 哈佛的课程主页2, 以及MATLAB官方answer3, 最后给出我之前配置Intel brew的链接4,(下面简称ibrew).

    Win11安装MATLAB-jupyter

    这里还是走了一些弯路的, 因为Win11中已经安装的MATLAB版本是2017a, 应该是最后一个支持jupyter插件的MATLAB版本了, 我一开始用的是之前电脑里面就有的Python3.9, 但是后来发现MATLAB里面的Python engine只支持2.6, 2.7, 3.5这三个Python版本, 没办法, 那就用Conda来安装一个Python3.5吧…

    先从官网下载最新版miniconda(至于Python版本并不重要, 直接用3.9即可), 然后一路确定安装即可.

    需要注意的是你的电脑中如果已经存在Python或者不想让Conda成为默认的Python环境的话, 一定要取消勾选安装前的最后一步, 有红色字体提示.

    安装完之后, 创建Python3.5虚拟环境, 直接在Conda的prompt(cmd/powershell都可以)中输入

    conda create -n py35 python=3.5
    
    • 1

    如果你的MATLAB是很新的版本(2017a往后), 那么用Python3.8或许也可以, 这里没有测试过(因为MATLAB安装一次实在是太久了)

    然后进入虚拟环境, 输入:

    conda activate py35
    
    • 1

    切换到MATLAB的安装目录:(下面均在powershell中操作)

    # 切换盘符
    d:
    # 切换到MATLAB目录
    cd d:\matlab2017a\extern\engines\python
    python setup.py install
    
    • 1
    • 2
    • 3
    • 4
    • 5

    安装完成之后就可以发现目录下多了一个dist文件夹, 这就是MATLAB提供的Python接口文件, 相当于一个Python的包, 只不过是在MATLAB的目录下.

    这时候仍然在prompt下, 安装matlab_kernel:

    pip install matlab_kernel
    python -m matlab_kernel install
    
    • 1
    • 2

    安装之后可以通过下面的命令查看一下引擎的支持情况:

    jupyter kernelspec list
    
    • 1

    最后在虚拟环境中安装jupyter, (需要注意, python3.5不支持jupyter lab, 所以这里只能以notebook为例了)

    pip install jupyter
    
    • 1

    安装完成之后, 如果需要使用jupyter lab, 那就还需要安装一下MATLAB-proxy插件(前提是你的MATLAB版本高于2017a)

    这个插件的安装首先需要node.js环境(直接官网下载安装即可, 需要最后勾选添加到环境变量)

    设置一下国内镜像:

    npm config set registry=https://registry.npmmirror.com
    
    • 1

    下面安装这个插件:(参考GitHub主页1)

    python -m pip install jupyter-matlab-proxy
    
    • 1

    然后:

    python -m pip install jupyterlab
    
    • 1

    最后安装jupyterlab的扩展插件:

    jupyter labextension install @jupyterlab/server-proxy
    
    • 1

    安完之后就可以用jupyter lab了.

    使用MATLAB2017a可以用jupyter插件, 但是第一次启动可能很慢(可能是电脑的问题), 建议还是尽量用高一些版本的MATLAB.

    使用方法的话, 大家应该都轻车熟路了:

    # For Jupyter Notebook
    jupyter notebook
    
    # For Jupyter Lab
    jupyter lab 
    
    • 1
    • 2
    • 3
    • 4
    • 5

    jupyter lab的效果见下1:(注意默认内核仍为Python, 需要替换成MATLAB, 不是MATLAB(connection))

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LnjE2UZs-1669785769225)(https://github.com/mathworks/jupyter-matlab-proxy/raw/main/img/combined_launchers.png)]

    当然, 使用jupyter lab的前提是你有MATLAB正版授权, 因为之后会需要提供注册账户. (这里建议使用pojie的朋友用notebook)

    MacOS(M1)安装MATLAB-jupyter

    这里主要参考了一个回答3, 专门解决Mac M1的MATLAB问题, 主要技术点就是通过Rosetta2转译的brew安装Python, 然后剩下的操作都在该Python下进行(如果不这样的话会提示架构不同, 原因是MATLAB现在还不是原生支持M1芯片的, 所以对应的Python插件需要使用Rosetta2安装转译版). 关于安装ibrew的方法, 可以看我之前的文章4.

    首先安装Python:

    ibrew install python@3.8
    
    • 1

    这里Python默认安装在/usr/local/bin下, 名为python3.8, (前提是添加了/usr/local/bin环境变量)

    然后到MATLAB的安装目录:

    cd /Applications/MATLAB_R2022a.app/extern/engines/python
    python3.8 setup.py install
    
    • 1
    • 2

    安装完成后, 再通过该Python安装一些包:

    python3.8 -m pip install matlab_kernel
    python3.8 -m matlab_kernel install
    python3.8 -m pip install jupyter
    
    • 1
    • 2
    • 3

    最后:

    python3.8 -m  jupyter notebook
    
    • 1

    效果如下:

    bb

    如果想使用jupyterlab, 仍然需要通过win的那套方法安装jupyterlab-proxy-Server, 下面给出命令:

    python3.8 -m pip install jupyter-matlab-proxy
    python3.8 -m pip install jupyterlab
    jupyter labextension install @jupyterlab/server-proxy
    
    • 1
    • 2
    • 3

    效果:(登录后)

    1

    ref


    1. mathworks/jupyter-matlab-proxy: MATLAB Integration for Jupyter (github.com); ↩︎ ↩︎ ↩︎

    2. Install Jupyter-MATLAB — AM111 0.1 documentation; ↩︎

    3. Install Matlab engine for Python on MacBook M1 - MATLAB Answers - MATLAB Central (mathworks.cn); ↩︎ ↩︎

    4. m1 MBA配置Homebrew环境+国内源配置_zorchp的博客-CSDN博客_brew查看源; ↩︎ ↩︎

  • 相关阅读:
    模拟实现string类
    C++的explicit是什么?
    flink测试map转换函数和process函数
    python+nodejs+java电子病历病例档案管理系统+vue
    【使用python绘制统计图表】
    Docker基础
    双指针技巧
    【python3】4.文件管理
    jvm 垃圾回收
    LeetCodeTop100(一)
  • 原文地址:https://blog.csdn.net/qq_41437512/article/details/128113445