質問: こんにちは。 私は、pythonでQtの機能を使いたくて、QtGuiをインポートしようとしました。 しかし、以下のようなエラーが出てしまいました。 ``` Python 2.7.5 (default, Mar 9 2014, 22:15:05) [GCC 4.2.1 Compatible Apple LLVM 5.0 (clang-500.0.68)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> from PyQt5 import QtGui Traceback (most recent call last): File "", line 1, in ImportError: dlopen(/usr/local/lib/python2.7/site-packages/PyQt5/QtGui.so, 2): no suitable image found. Did find: /usr/local/lib/python2.7/site-packages/PyQt5/QtGui.so: mach-o, but wrong architecture ``` PyQt5のインストールは以下のサイトを参考に行いました。 色々なサイトで調べてみると上記のようなエラーはライブラリのアーキテクチャの違いで、出てしまうと書かれていました。 そこで、python、QtGuiのアーキテクチャをlipoコマンドで調べてみると、 【python】 $ lipo -info /usr/bin/python Architectures in the fat file: /usr/bin/python are: x86_64 i386 【QtGui】 $ lipo -info QtGui.so Non-fat file: QtGui.so is architecture: x86_64 それぞれ64bitで構成されていて、違いはなさそうなのですが、なぜエラーが出てしまっているのでしょうか?
回答: 参考にされたサイトでは homebrew を使っているので、システムに元から入っている python ではなく `brew` コマンドでインストールされた python を使っていそうな気がします。 `/usr/bin/python` はシステムに入っている python ですが、エラー文で参照しているライブラリのパス `/usr/local/lib/python...` は `brew` でインストールされた python 用のライブラリパスのはずです。 すでに homebrew で python をインストールしていたら、そちら(`/usr/local/bin/python`)を起動して import を試してみて下さい。 もし同じようにエラーが出たら、こちらの python のアーキテクチャを確認してみて下さい。