旧OS X上的Pyinstaller可执行文件失败

时间:2018-04-18 20:09:33

标签: python macos pyinstaller

我有一个使用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上。

1 个答案:

答案 0 :(得分:1)

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

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