与py2app捆绑在一起的brewed python应用程序崩溃与非法指令4

时间:2017-11-09 17:00:54

标签: python macos py2app

我想使用自制python + py2app来构建和部署hello世界。

  • 构建机器:MacOS X 10.12.6
  • 目标机器:MacOS X 10.11

在很多帖子之后,我通过在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']
)

0 个答案:

没有答案