1

我使用 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.

但是,如果我使用内置 python 版本的 Mac,它确实有效:

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

ans = 

  Python list with no properties.

    [1.0]

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

4

1 回答 1

3

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

于 2021-12-10T16:25:48.867 回答