我正在尝试使用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?)或如何解决这个问题。否则它会发现所有其他库都没问题。有什么想法吗?
答案 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
我想这是另一个问题。