1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64') の対処法

Posted at

概要

この記事では、macOS で Python 環境を使用している際に発生する mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64') エラーの原因と、その対処法について解説します。特に、Apple Silicon(M1/M2 チップ)を搭載した Mac での Python パッケージのインストールに関する問題に焦点を当てています。

原因

このエラーは、macOS 上で Python のパッケージをインストールした際に、システムのアーキテクチャ(x86_64 と arm64)が不一致である場合に発生します。具体的には、インストールされている Python やパッケージが Intel(x86_64) 用にビルドされている場合、Apple Silicon(arm64) 環境でこれを実行しようとすると、互換性の問題が生じます。その結果、特定のC拡張モジュールがロードできず、エラーが発生します。

対処法

この問題を解決するためには、arm64 アーキテクチャに対応した形で Python パッケージをインストールする必要があります。そのためには、arch コマンドを使用して、pip installarm64 アーキテクチャ上で実行するように指定します。

# Python の仮想環境を作成し、アクティベートしたあと
arch -arm64 pip install -r requirements.txt

requirements.txt は、プロジェクトで必要な Python ライブラリの一覧を指定したファイルです。このコマンドを使うことで、Apple Silicon に適したパッケージがインストールされ、アーキテクチャの不一致によるエラーが解消されます。

参照

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?