我怎么告诉py2app使用/ include 32bit Python(对于wxPython)?

时间:2012-05-07 14:09:16

标签: python wxpython osx-lion 32bit-64bit py2app

我正在使用OS X Lion(10.7.3),我正在尝试使用wxPythonpy2app编写一个跨平台,独立的基于GUI的程序。

我尝试使用Lion附带的Python 2.7.1。

我得到了wxPython2.8二进制文件(wxPython2.8-osx-unicode-py2.7)。

我通过pip安装了py2app

这是我的小测试应用程序:

#!/usr/bin/python
import wx
app = wx.App()
frame = wx.Frame(None, -1, 'test.py')
frame.Show()
app.MainLoop()

这是我的setup.py

from setuptools import setup
setup(
    app=["test.py"],
    setup_requires=["py2app"],
)

wxPython 2.8需要32位模式,所以我使用arch命令:

arch -i386 /usr/bin/python2.7 test.py

如何告诉py2app使用/ include 32bit Python?

可以手动交换应用程序包中的相关文件,但这是一个相当笨拙的解决方法。我也可以使用64位wxPython2.9,但还没有稳定版本可用。我应该切换到cx_Freeze吗?这里的最佳做法是什么?

1 个答案:

答案 0 :(得分:0)

如果您安装了64位Python,那么它将创建一个64位应用程序 如果您安装了32位Python,那么它将创建一个32位应用程序。

如果你已经安装了,那么创建的内容将取决于Python从32位或64位安装文件夹中收集库的位置。
在Windows上,这取决于实际运行的Python可执行文件。这取决于您的系统或用户路径设置中的第一个。

当您键入 python setup.py 时,Windows运行 python.exe 从命令行运行python.exe取决于您 PATH environemnt变量。如果您在资源管理器中点击 setup.py ,则会运行哪一项取决于您与 .py 文件的文件关联。

您可以轻松地使setup.py通过从任意一个中生成32位python实例来确保正确运行。