在OSX Yosemite上打包Kivy Python应用程序无法正常工作

时间:2015-06-17 20:03:17

标签: python macos kivy pyinstaller

我正在尝试使用pyinstaller (OSX 10.10,Kivy 1.9,pyinstaller 2.1)在Yosemite上打包Kivy / Python应用程序,并且通过Kivy OSX package how-to没有取得多大成功。在对我的PYTHONPATH进行故障排除以确保它包含Kivy和所有依赖项后,我尝试构建他们的demo touchtracer应用程序,因为它在示例中使用。

无论我构建到OSX包中的是什么都不运行。控制台只返回:

  

com.apple.xpc.launchd 1:   (com.apple.xpc.launchd.oneshot.0x10000017.mypython-app [15589])服务   退出异常代码:255

据我所知,specfile构建和.app包构建正常,除了构建specfile时这两个不同的错误:

  

警告:未找到ctypes需要库user32.dll

然后这一点关于找不到Python:

7246 ERROR: Can not find path @executable_path/../.Python (needed by /Applications/Kivy.app/Contents/Resources/python)
7246 INFO: Using Python library /System/Library/Frameworks/Python.framework/Versions/2.7/Python
7246 INFO: Adding Python library to binary dependencies
...
8489 ERROR: Can not find path @executable_path/../.Python (needed by /Applications/Kivy.app/Contents/Resources/python)

我认为这是路径的问题,但不确定它正在寻找什么(除了Python?)或如何解决这个问题。否则它会发现所有其他库都没问题。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

所以即使我没有让我的应用程序工作,我在技术上已回答了这个问题。无论出于何种原因,pyinstaller 2.1都无法正确找到Python或Kivy。当我下载pyinstaller 2.0并运行它时,一切都正确构建。

我现在很高兴看到像

这样的输出,而不是那些“无法找到路径”的错误
[INFO   ] [Logger      ] Record log in /Applications/Kivy.app/Contents/Resources/.kivy/logs/kivy_15-06-17_9.txt
4618 INFO: [Logger      ] Record log in /Applications/Kivy.app/Contents/Resources/.kivy/logs/kivy_15-06-17_9.txt
[INFO   ] [Kivy        ] v1.9.0
4617 INFO: [Kivy        ] v1.9.0
[INFO   ] [Python      ] v2.7.6 (default, Sep  9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)]
4618 INFO: [Python      ] v2.7.6 (default, Sep  9 2014, 15:04:36) 
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)]

所以现在我只需要排除故障并找出应用程序启动和崩溃的原因,然后将其输出到控制台:

com.apple.xpc.launchd[1]: (com.apple.ReportCrash[1360]) Endpoint has been activated through legacy launch(3) APIs. Please switch to XPC or bootstrap_check_in(): com.apple.ReportCrash

我想这是另一个问题。

相关问题