最近、python 2.7.3 (2.6 から) をインストールし、誤って wxPython 2.8 Unicode を Mac に再インストールしました。今、wxをインポートしようとすると、
>>> import wx
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/__init__.py", line 45, in <module>
from wx._core import *
File "/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/_core.py", line 4, in <module>
import _core_
ImportError: dlopen(/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/_core_.so, 2): no suitable image found. Did find:
/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/_core_.so: no matching architecture in universal wrapper
どうしてこれなの?私はやったしdefaults write com.apple.versioner.python Prefer-32-Bit -bool yes
、print("%x" % sys.maxsize, sys.maxsize > 2**32)
まだ戻ってきます('7fffffffffffffff', True)
。これは 64 ビット モードで実行されているということですか? もしそうなら、それがこのエラーが発生する理由ですか?
編集: これは、python2.6 で wx をインポートするときにも発生します。しかし、同じバージョンの wxPython を使用しているため、何も変更されていないはずです。
別の編集: を使用しarch
て、64 ビット モードで実行されているため、これが発生していると判断しました。ただし、それにもかかわらず、64ビットPrefer-32-Bit -bool yes
です。これはなぜでしょうか?/usr/bin/python がまだ 2.6 を実行していることに気付きました。