Pyd*_*man 5 python wxpython python-import py2app python-2.7
在OS X Lion上安装了wxPython(最新版本)后,尝试import wx使用解释器会导致:
File "wx/__init__.pyc", line 45, in <module>
File "wx/_core.pyc", line 4, in <module>
File "wx/_core_.pyc", line 18, in <module>
File "wx/_core_.pyc", line 11, in __load
ImportError: /Users/Pyderman/Downloads/e30356784638/dist/Program.app/Contents/Resources/lib/python2.6/lib-dynload/wx/_core_.so: no appropriate 64-bit architecture
Run Code Online (Sandbox Code Playgroud)
所以按照给出的说明man python,我设置:
export VERSIONER_PYTHON_PREFER_32_BIT=yes
Run Code Online (Sandbox Code Playgroud)
然后导入wx工作(在解释器中).然而,当我使用py2app将程序捆绑到OS X应用程序时,错误重新出现,即使我尝试在同一个终端中启动应用程序,我已将环境变量设置为更喜欢32位.
我猜不知道py2app不知道32位是首选吗?但是如何实施,以及如何实施或控制?
让我扩展一下 Steve C 所说的内容...简单的解决方案是仅从 python 网站安装 Python 32 位,正如 Ned在这里建议的那样
一种稍微困难一些但从长远来看可能更有效的方法是将架构类型设置为 32 位,使用 fviktor 建议的同上之类的方法。这会删除除 i386 架构之外的所有内容,因此它不会尝试加载任何那些讨厌的 64 位版本。
来自 fviktor 的同上来源:
ditto --rsrc --arch i386 YourApplication.app YourApplicationStripped.app
Run Code Online (Sandbox Code Playgroud)
如前所述,它删除了所有非 32 位“内容”,从而降低了包大小并确保它永远不会尝试加载 64 位架构。
如果您想要 32 位和 64 位架构可用,您可以将架构的优先级设置为让 32 位成为主要架构。为此,请编辑由 Py2App 创建的 Info.plist。这里有4个选项,ppc是32位powerPC架构,i386(我认为更常用)32位架构,然后是两种不同的64位架构,x86_64和ppc64。
您的大部分问题都可以在这里得到解答,但我相信它足够不同,可以帮助人们更好地了解未来发生的事情。
| 归档时间: |
|
| 查看次数: |
257 次 |
| 最近记录: |