11936


こんにちは。  
私は、pythonでQtの機能を使いたくて、QtGuiをインポートしようとしました。  
しかし、以下のようなエラーが出てしまいました。

[code]

    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 "<stdin>", line 1, in <module>
    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
    
[/code]

PyQt5のインストールは以下のサイトを参考に行いました。  
<http://hope-is-dream.hatenablog.com/entry/2015/01/24/143402>

色々なサイトで調べてみると上記のようなエラーはライブラリのアーキテクチャの違いで、出てしまうと書かれていました。  
そこで、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で構成されていて、違いはなさそうなのですが、なぜエラーが出てしまっているのでしょうか？


CC BY-SA 3.0
2015-06-21T08:44:48.683
11573
2015-07-31T22:34:33.350
2015-07-01T22:07:34.050
7837
10222
question
python macos qt
QtGuiのインポートをしようとすると、エラーが出てしまう


参考にされたサイトでは homebrew を使っているので、システムに元から入っている python ではなく `brew` コマンドでインストールされた
python を使っていそうな気がします。  
`/usr/bin/python` はシステムに入っている python ですが、エラー文で参照しているライブラリのパス
`/usr/local/lib/python...` は `brew` でインストールされた python 用のライブラリパスのはずです。

すでに homebrew で python をインストールしていたら、そちら(`/usr/local/bin/python`)を起動して import
を試してみて下さい。  
もし同じようにエラーが出たら、こちらの python のアーキテクチャを確認してみて下さい。


CC BY-SA 3.0
2015-07-01T22:31:32.503
11936
2015-07-01T22:31:32.503
3589
11573
answer