Python“import wx”错误

时间:2012-11-02 15:45:24

标签: python macos wxpython

我最近安装了python 2.7.3(从2.6开始),并在我的Mac上意外重新安装了wxPython 2.8 unicode。现在,当我尝试导入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 yesprint("%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。

2 个答案:

答案 0 :(得分:1)

这绝对是一种架构不匹配。而不是将python作为32位运行,尝试在编译wx:

之前设置此环境变量
export ARCHFLAGS='-arch x86_64'

答案 1 :(得分:0)

如果你想在mac中运行ride(robotframework),我想我也有同样的问题。你可以下载python版本(Mac OS X 32位i386 / PPC安装程序),是的,你必须使用它代替其他人。你可以从网上下载它:https://www.python.org/downloads/release/python-2711/.this是我的情况在mac中运行亲

相关问题