我正在使用OS X Lion(10.7.3),我正在尝试使用wxPython
和py2app
编写一个跨平台,独立的基于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
吗?这里的最佳做法是什么?
答案 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实例来确保正确运行。