【问题标题】:Matlab python integration on Apple SiliconApple Silicon 上的 Matlab python 集成
【发布时间】:2021-12-10 12:46:27
【问题描述】:

我使用 miniforge 在我的 Apple M1 上安装了 Python

brew install --cask miniforge   

但我无法在 MATLAB 上使用 Conda 环境:

>> pyenv('Version', '/opt/homebrew/Caskroom/miniforge/base/envs/matpy39/bin/python3')

ans = 

  PythonEnvironment with properties:

          Version: "3.9"
       Executable: "/opt/homebrew/Caskroom/miniforge/base/envs/matpy39/bin/python3"
          Library: "/opt/homebrew/Caskroom/miniforge/base/envs/matpy39/lib/libpython3.9.dylib"
             Home: "/opt/homebrew/Caskroom/miniforge/base/envs/matpy39"
           Status: NotLoaded
    ExecutionMode: InProcess

>> py.list({1})
Unable to resolve the name py.list.

但是,如果我使用 Mac 内置 python 版本,它确实可以工作:

>> pyversion('/usr/bin/python3')
>> py.list({1})

ans = 

  Python list with no properties.

    [1.0]

我不知道该怎么做才能让 MATLAB 使用特定的 Conda 环境

【问题讨论】:

    标签: python matlab conda apple-m1 mini-forge


    【解决方案1】:

    Homebrew 现在在 Apple Silicon 上构建原生 ARM/M1 二进制文件。 Matlab 是在 Rosetta 仿真下运行的 x64 二进制文件。我怀疑问题在于您无法将 ARM 库(自制 Python)加载到 x64/Rosetta 进程(Matlab)中。我敢打赌 macOS 的系统 Python 发行版是一个“通用”构建或类似的东西,可以加载到任何一种进程中。

    您可以通过在 Homebrew 之外安装 x64 版本的 Miniforge 或 Anaconda 并告诉 Matlab 加载它来实现此功能。

    看看https://www.anaconda.com/blog/apple-silicon-transition

    【讨论】:

    • 我同意,但他们仍然应该安装 Miniforge (osx-64) 而不是 Anaconda。
    • 在这里推迟并添加 Miniforge 作为答案中的第一个建议。
    • 谢谢,成功了!我下载了 Anaconda 的 macOS x86-64 安装程序,它可以工作
    猜你喜欢
    • 1970-01-01
    • 2022-01-11
    • 2021-08-10
    • 1970-01-01
    • 2021-09-28
    • 2021-03-02
    • 2022-01-10
    • 1970-01-01
    • 2021-05-15
    相关资源
    最近更新 更多