Python "import wx"错误

标签 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 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。

最佳答案

这绝对是架构不匹配。不要将 python 作为 32 位运行,而是尝试在编译 wx 之前设置此环境变量:

export ARCHFLAGS='-arch x86_64'

关于Python "import wx"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13198596/

相关文章:

python - PYODBC--未找到数据源名称且未指定默认驱动程序

Python 对象引用

python - 是否有基于浏览器的 Python IDE,例如 R 的 RStudio 服务器?

php - FFMPEG 与 PHP 将视频转换为 mp4 和快照

python - 时间间隔选择的最佳界面范例?

python - twisted+wxPython 存在不干净的情况

python - 按下 QPushButton 时打印控制台消息

macos - Pritunl 客户端 : Unable to communicate with helper service, 尝试重新启动

macos - -bash : emacs: command not found (after updating mac to CATALINA)

python - 如何使用 wxPython 布局 3 Pane 窗口?