我最近安装了Python2.7.3(从2.6开始),并意外地在我的wxPython上重新安装了Python2.8unicode。现在,当我尝试导入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位模式下运行。然而,尽管是Prefer-32-Bit -bool yes,它仍然是64位的。为什么会这样呢?我注意到/usr/bin/python仍然运行2.6。
发布于 2012-11-03 01:02:40
这肯定是架构不匹配。在编译wx之前,尝试设置此环境变量,而不是以32位运行python:
export ARCHFLAGS='-arch x86_64'发布于 2016-01-19 15:08:02
如果你想在mac上运行ride(robotframework),我想我也有同样的问题要问你。你可以下载python版本(MacOSX32位i386/PPC安装程序),是的,你必须使用它而不是others.you可以从网络上下载它:https://www.python.org/downloads/release/python-2711/.this是我在mac中运行的案例
https://stackoverflow.com/questions/13198596
复制相似问题