【问题标题】:Pyinstaller executable fails on old OS XPyinstaller 可执行文件在旧 OS X 上失败
【发布时间】:2018-04-18 20:09:33
【问题描述】:

我有一个使用 Pyinstaller 打包成可执行文件的 wxPython GUI。它在 OS X 10.13.4 上正常工作,但在 OS X 10.12.6 上无法初始化。

这是从命令行运行我的可执行文件时的错误输出:

[4693] Error loading Python lib '/var/folders/9_/5d_4dfcs4lj11bdjq4twtl5w0000gp/T/_MEIYsEh11/Python': dlopen:   dlopen(/var/folders/9_/5d_4dfcs4lj11bdjq4twtl5w0000gp/T/_MEIYsEh11/Python, 10): Symbol not found: _futimens
Referenced from: /var/folders/9_/5d_4dfcs4lj11bdjq4twtl5w0000gp/T/_MEIYsEh11/Python (which was built for Mac OS X 10.13)
Expected in: /usr/lib/libSystem.B.dylib
in /var/folders/9_/5d_4dfcs4lj11bdjq4twtl5w0000gp/T/_MEIYsEh11/Python

我不知道这个错误信息是什么意思。我试过用谷歌搜索它的一些部分,但我没有得到任何有意义的结果。

我正在寻找任何线索来让我朝着正确的方向前进——可能出了什么问题,或者如何调试。不幸的是,我无法访问 OS X 10.12.6,所以我不得不远程为用户进行故障排除。

这是我的 Pyinstaller 版本:

pyinstaller 3.4.dev0+g07ab024c

这似乎发生在 brew 安装的 Python 或 Anaconda 中。

【问题讨论】:

    标签: python macos pyinstaller


    【解决方案1】:

    有点晚了,但它也发生在我身上。经过一番研究,根据文档: https://pyinstaller.readthedocs.io/en/stable/usage.html#making-mac-os-x-apps-forward-compatible

    基本上,您需要在完整的开发环境中安装具有您希望支持的最旧操作系统(例如 osx maverick 或 ubuntu 16)的虚拟机,并在其中运行 pyinstaller。截至撰写本文时,似乎没有办法解决。

    【讨论】:

    • 是的,我也发现了。令人烦恼的是,获得旧版本的 OSX(通过合法渠道)几乎是不可能的。
    • 是的,您必须之前已经安装它才能在历史记录中找到它,否则它不会让您下载图像。您需要请其他拥有它的人为您下载它。否则结帐 nuitka.net,这是一种完全不同的方式,但可以从任何主机操作系统创建包
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-22
    • 1970-01-01
    • 1970-01-01
    • 2016-12-27
    • 2011-06-07
    • 1970-01-01
    相关资源
    最近更新 更多