2015-08-19 46 views
3

感谢py2app,我为OSX机器发布了一个Python应用程序。 任何时候我构建应用程序,我使用virtualenv。它也管理我所有的依赖项。启动时,捆绑的Python应用程序可能会失败

在我的笔记本电脑上运行应用程序工作正常。我也试过其他几台机器,一切都很好。但是,在单台机器上,启动我的应用程序时出现此错误:

8/19/15 5:41:08.787 PM main: main Error 
8/19/15 5:41:10.997 PM [0x0-0xb10b1].org.pythonmac.unspecified.main: Traceback (most recent call last): 
8/19/15 5:41:10.997 PM [0x0-0xb10b1].org.pythonmac.unspecified.main: File "/Users/foo/Desktop/synchronizer.app/Contents/Resources/__boot__.py", line 351, in <module> 
8/19/15 5:41:10.997 PM [0x0-0xb10b1].org.pythonmac.unspecified.main:  _run() 
8/19/15 5:41:10.997 PM [0x0-0xb10b1].org.pythonmac.unspecified.main: File "/Users/foo/Desktop/synchronizer.app/Contents/Resources/__boot__.py", line 336, in _run 
8/19/15 5:41:10.997 PM [0x0-0xb10b1].org.pythonmac.unspecified.main:  exec(compile(source, path, 'exec'), globals(), globals()) 
8/19/15 5:41:10.997 PM [0x0-0xb10b1].org.pythonmac.unspecified.main: File "/Users/foo/Desktop/synchronizer.app/Contents/Resources/main.py", line 1, in <module> 
8/19/15 5:41:10.997 PM [0x0-0xb10b1].org.pythonmac.unspecified.main:  from window import Window 
8/19/15 5:41:10.997 PM [0x0-0xb10b1].org.pythonmac.unspecified.main: File "window.pyc", line 2, in <module> 
8/19/15 5:41:10.998 PM [0x0-0xb10b1].org.pythonmac.unspecified.main: File "requests/utils.pyc", line 17, in <module> 
8/19/15 5:41:10.998 PM [0x0-0xb10b1].org.pythonmac.unspecified.main: File "platform.pyc", line 115, in <module> 
8/19/15 5:41:10.998 PM [0x0-0xb10b1].org.pythonmac.unspecified.main: File "subprocess.pyc", line 405, in <module> 
8/19/15 5:41:10.998 PM [0x0-0xb10b1].org.pythonmac.unspecified.main: ImportError: dlopen(/Users/foo/Desktop/synchronizer.app/Contents/Resources/lib/python3.4/lib-dynload/_posixsubprocess.so, 2): Symbol not found: _dirfd 
8/19/15 5:41:10.998 PM [0x0-0xb10b1].org.pythonmac.unspecified.main: Referenced from: /Users/foo/Desktop/synchronizer.app/Contents/Resources/lib/python3.4/lib-dynload/_posixsubprocess.so 
8/19/15 5:41:10.998 PM [0x0-0xb10b1].org.pythonmac.unspecified.main: Expected in: /usr/lib/libSystem.B.dylib 
8/19/15 5:41:10.998 PM [0x0-0xb10b1].org.pythonmac.unspecified.main: in /Users/foo/Desktop/synchronizer.app/Contents/Resources/lib/python3.4/lib-dynload/_posixsubprocess.so 
8/19/15 5:41:11.027 PM com.apple.launchd.peruser.502: ([0x0-0xb10b1].org.pythonmac.unspecified.main[889]) Exited with code: 255 

本机运行10.7.5版本的OSX。 我不知道这是分配问题还是与本机/环境相关的问题。

我试图通过运行带有--no-site-packages标志的virtualenv来分发应用程序,但它没有影响。

有什么想法?

+2

您建立在什么版本的OS X上?它可以使用哪些版本的OS X?你想支持哪些版本的OS X?就我个人而言,我认为担心OS X 10.7有点无聊。大约一年前,67%的人跑10.8或更新。只有13%的人跑10.7(其他20%跑10.7以上)。我相信更新的图表会显示更高的百分比,运行10.8或更新,更少运行10.7。所以我真的不会担心10.7。 https://chitika.com/insights/2014/apple-status-report – ArtOfWarfare

回答

1

使这些向后兼容可能会非常棘手。也许尝试在您想要支持的最旧版本的OS X上构建您的py2app捆绑应用程序。即如果你想让它在10.7.5上运行,那就建立它。从较旧版本的OS X构建更适合于较新版本的OS X,然后以另一种方式进行。

+0

这很有道理。我应该在py2app官方跟踪器上打开一张票吗? –

+0

我不认为他们可以帮助你。它使用您正在构建的操作系统上可用的软件包。希望它是向前兼容的。 –

相关问题