在Lion上运行wxPython
我刚买了一台新电脑,里面装的是Lion系统。我下载并安装了Python 2.7和wxPython 2.8(是为了配合2.7)。我知道系统自带Python,但我还是想用官方版本。
不过,当我在IDLE里输入“import wx”时,出现了以下信息:
追踪记录(最近的调用在最前面): 文件 "", 第 1 行, 在 import wx 文件 "/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/init.py", 第 45 行, 在 from wx._core import * 文件 "/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/_core.py", 第 4 行, 在 import core 导入错误:dlopen(/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/core.so, 2): 找不到合适的图像。找到的是: /usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/core.so: 在通用包装中没有匹配的架构
我觉得这个问题是因为wxPython只支持32位,但我不知道怎么让Python强制运行在32位模式。
有人能帮忙吗? 谢谢大家。
4 个回答
这段话的意思是,这样做应该可以让程序以32位模式启动。不过我不确定这样做是否能解决wx的问题。
% arch -i386 python
这可能在2.9以下的Python版本上不太好使。我运行'python'的时候没有成功……我现在用的是2.7版本,因为要兼容其他东西。不过我发现'python'可能是64位模式的一个别名,而出于某种原因,arch命令不工作。
所以,在Lion系统下,我需要这样做才能让wx正常工作(这对2.6或2.7都有效):
$ arch -i386 python2.7
然后当Python加载的时候:
import wx
这样就可以正常运行了。你可能需要用arch命令来指定具体的Python版本,比如python2.7,或者你正在使用的其他版本。
wxPython 2.9 现在也支持在 Mac 上使用 64 位版本(你可以查看开发版本的部分,找找 cocoa 版本:http://wxpython.org/download.php)。这个话题在邮件列表上也讨论过,很多用户确认 wx 在 Lion 系统上可以正常工作:https://groups.google.com/forum/#!searchin/wxpython-users/lion/wxpython-users/LvjSVqqMMpQ/U0QJXEeBpLQJ