1

我正在使用 OS X Lion (10.7.3),并且正在尝试使用wxPythonpy2app.

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

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

py2app是通过 pip 安装的。

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

#!/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 使用/包含 32 位 Python?

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

4

1 回答 1

0

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

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

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

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

于 2012-05-07T15:42:17.557 回答