与wxpython作战

时间:2011-06-03 20:58:38

标签: macos wxpython 32bit-64bit

我度过了一个非常令人沮丧的夜晚,试图让wxpython在MacBook Pro上运行(运行Snow Leopard 10.6.6)。通过阅读本主题和其他网站上关于此主题的各种主题,这是我目前的理解:

  • 如果您运行的是python 2.6或更高版本,则只能在访问32位版本时使用wxpython
  • 在命令行提示符下键入python会显示我正在使用python 2.6.1
  • 键入which python会返回/usr/bin/python,因此我使用随操作系统安装的默认版本。这意味着在命令行提示符下键入以下内容 defaults write com.apple.versioner.python Prefer-32-Bit -bool yes应该将我使用的版本更改为32位版本。
  • 有了上述内容,我现在只需输入我的python文件的名称(导入wx模块),我的文件就会成功运行。

正如您无疑可以猜测我的文件无法成功运行。我无法弄清楚发生了什么,但也许其他人可以在这里做一些其他可能有帮助的观察......

输入help()modules会产生以下消息,然后打印出模块,包括wxwxpython

/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/pkgutil.py:110: DeprecationWarning: The wxPython compatibility package is no longer automatically generated or actively maintained. Please switch to the wx package as soon as possible.

__import__(name)

/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/pkgutil.py:110: DeprecationWarning: twisted.flow is unmaintained.

__import__(name)

/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/twisted/python/filepath.py:12: DeprecationWarning: the sha module is deprecated; use the hashlib module instead

import sha

/System/Library/Frameworks/Python.framework/Versions/2.6/Extras/lib/python/twisted/words/im/__init__.py:8: UserWarning: twisted.im will be undergoing a rewrite at some point in the future. warnings.warn("twisted.im will be undergoing a rewrite at some point in the future.")

Fri Jun 3 22:23:48 Paul-Pattersons-MacBook-Pro.local python[3208] <Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.

_RegisterApplication(), FAILED TO establish the default connection to the WindowServer, _CGSDefaultConnection() is NULL.

然后检查wx模块特定产生...

NAME     wx

FILE     /usr/local/lib/wxPython-unicode-2.8.12.0/lib/python2.6/site-packages/wx-2.8-mac-unicode/wx/__init__.py

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:11)

我没有Mac,但我几乎阅读了wxPython邮件列表中的所有消息。据我了解,您不想使用Mac附带的Python。它已经在某种程度上针对Mac进行了修改,所以你应该下载普通版本的Python并安装它。

至于32位问题,使用wxPython 2.8,你是对的。由于Carbon API,您仅限于32位。但是,如果您向下滚动下载页面(http://wxpython.org/download.php),您将看到wxPython 2.9已经发布,它有一个Cocoa构建(我引用)“至少需要OSX 10.5,并支持32位或64位架构“和Python 2.7。

我强烈建议你去wxPython邮件列表寻求帮助。 wxPython的作者就在那里,他使用了Mac,并且列表上还有其他几个Mac上瘾者可以回答这些问题。