在 macbook pro M1 上安装 Tensorflow 时出现“zsh: illegal hardware instruction python”

新手上路,请多包涵

我正在尝试让 tensorflow 在我的 MacBook pro M1 上运行。但是,我在尝试导入时不断收到以下错误: zsh: illegal hardware instruction python

我已经通过此 链接 下载并安装了 tensorflow。

这些是我的安装步骤:

  • 安装一个 venv: python3 -m venv venv
  • install_venv.sh (位于下载的文件夹中)文件拖到终端,最后添加 -p
  • 选择venv的目录作为tensorflow的安装位置。
  • 激活 venv。
  • 输入“蟒蛇”。
  • 尝试导入张量流: import tensorflow as tf

我正在使用 Python 3.8.2。

我看过一些教程,其中这个确切的方法确实有效,所以我不知道这里有什么问题。

原文由 georgev 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 3.4k
2 个回答

在尝试了一堆解决方案无济于事之后,这对我有用。

步骤 1 使用 pyenv 安装 python 版本 3.8.5 并将其设置为默认 python 版本。本教程 ( https://realpython.com/intro-to-pyenv/ ) 有助于正确配置 pyenv。

步骤 1.1 如果您在 zsh 中运行 pyenv 时遇到问题,请使用这篇文章 ( https://github.com/pyenv/pyenv/issues/1446 )。

步骤 1.2 一旦你运行了 python 版本 3.8.5,你可以通过运行 python -V 来检查它应该输出:

 Python 3.8.5

第二步通过 pip install virtualenv

步骤 2.1 通过运行创建虚拟环境 virtualenv ENV

步骤 2.2 通过运行激活该虚拟环境 source ENV/bin/activate

第 3 步安装名为 tensorflow-2.4.1-py3-none-any.whl 位于这个公共谷歌驱动器链接 https://drive.google.com/drive/folders/1oSipZLnoeQB0Awz8U68KYeCPsULy_dQ7

步骤 3.1 假设您只是在激活的虚拟环境中安装了下载轮 pip install ~/Downloads/tensorflow-2.4.1-py3-none-any.whl

第 4 步键入 python,它将在您的终端中调出 >>> 并键入

>>> import tensorflow
>>>

如果没有“zsh illegal hardware instruction”错误,你就可以开始了。

注意:如果你使用的是 anaconda,上面的方法也可以。您可以跳过虚拟环境步骤(假设您有一个通过 Conda 激活的虚拟环境),直接转到 pip install 如上所述(步骤 3 及更高版本)。

原文由 Vakidis 发布,翻译遵循 CC BY-SA 4.0 许可协议

Python3 在 M1 中附带了 2 种架构。

 $ file $(which python3)
# If you installed python through Homebrew or Anaconda, deactivate your conda env, then run this line instead:
# $ file $(which /usr/bin/python3)
/usr/bin/python3: Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit executable x86_64] [arm64e:Mach-O 64-bit executable arm64e]
/usr/bin/python3 (for architecture x86_64): Mach-O 64-bit executable x86_64
/usr/bin/python3 (for architecture arm64e): Mach-O 64-bit executable arm64e

在这里,指定使用哪一个非常重要。您可以通过安装这样的脚本来做到这一点:

 arch -arm64 bash install_venv.sh my_tf_env

如果你有多个 python 安装,请使用:

 arch -arm64 bash install_venv.sh --python=/usr/bin/python3 my_tf_env

您可以将 my_tf_env 替换为您选择的任何其他名称/路径。

原文由 dedede 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题