我使用的是EPD7.3,并且已经通过wxPython存储库安装了EPD2.9。我试着运行需要wxPython的winPDB,得到了这样的消息:
This program needs access to the screen.
Please run with a Framework build of python, and only when you are
logged in on the main display of your Mac.我在Mac上的wxPython上也看到过类似的消息,但我还没有找到解决方案。有人知道这条消息吗?还有,有没有人在OSX10.8w/ wxPython 2.9上安装了WinPDB?
发布于 2013-04-02 08:16:24
当用于运行wxPython脚本的Python不是完整的框架构建时,将会出现此错误消息。OSX要求被授予屏幕完全访问权限的应用程序可以从应用程序包中运行,或者是框架的一部分。
通常,现在所有的Python都是框架构建,不再需要担心这一点,但是有一种情况仍然是一个问题,那就是使用virtualenv或类似的工具。由于virtualenv的构建方式,Python与它所来自的框架失去了联系,因此直接使用它会触发安全机制,而wx代码无法完全访问屏幕。如果你在虚拟环境中遇到问题,我在这里写了一个解决方法:http://wiki.wxpython.org/wxPythonVirtualenvOnMac
嗯..。我刚刚去了EPD,我发现他们提供的"python“可执行文件并不像普通框架构建中那样是Python.app二进制文件的前端,而更像是一个普通的unixy Python。由于我现在在intended,我将询问责任方这是一个bug还是故意的,但在此期间,您可以通过更改正在执行的Python来解决这个问题。例如,您可以在bash shell中创建一个指向Python.app二进制文件的"pythonw“别名,如下所示:
alias pythonw=/Library/Frameworks/EPD64.framework/Versions/7.3/Resources/Python.app/Contents/MacOS/Python然后,您应该能够通过使用python而不是python来运行WinPDB或其他wxPython应用程序。
https://stackoverflow.com/questions/15746518
复制相似问题