我想使用自制python
+ py2app
来构建和部署hello世界。
在很多帖子之后,我通过在python.rb
内设置来修改MACOSX_DEPLOYMENT_TARGET=10.10
公式,以确保与较旧的macos内核的向后兼容性。
构建正常但是当我在目标计算机上运行应用程序时,由于 Illegal Instruction 4
而崩溃。进一步挖掘,通过调用与应用程序捆绑在一起的python来引发此崩溃。
在post之后,这可能是由于可能使用硬件特定优化标志构建的自制python
的本质。检查我的命令输出
brew install -v --build-from-source python
我没有看到任何异国情调标志,但我可以确认,当使用不是来自brew的python(例如来自www.python.org)构建应用程序时,部署可以正常工作。 / p>
您是否知道此问题的来源以及如何修改python brew配方以使其正常工作?
以下是我的代码:
hello.py
#!/usr/bin/env python2.7
if __name__ == "__main__":
print "Hello world"
build.py
import sys
import os
from setuptools import setup
version = "1.0"
APP = ['hello.py']
PLIST = {
u'CFBundleName': u'Hello',
u'CFBundleShortVersionString': version,
u'CFBundleVersion': version,
u'CFBundleIdentifier': u'-',
u'LSApplicationCategoryType': u'public.app-category.science'
}
OPTIONS = {
'argv_emulation': True,
'plist': PLIST,
'bdist_base': './Build/build',
'dist_dir': './Build/dist',
'graph': False,
'xref': False
}
setup(
name="hello",
app=APP,
options={'py2app': OPTIONS},
setup_requires=['py2app']
)