我的理解是,只要使用非Apple默认的Python构建,最终用户不需要安装Python执行一个py2app构建的应用程序。在我自己的环境中开发和测试应用程序时,我显然已经安装了Python。具体来说,我使用python.org安装了一个pyenv,而不是Apple自己的。然而,当我将应用程序提供给没有安装Python的最终用户时,她得到:在pyenv中使用py2app构建的应用程序无法在其他机器上运行
无法找到Python运行时。您可能需要安装Python的框架构建,或者编辑此应用程序的Info.plist文件中的 中的PyRuntimeLocations数组。
第二行是关于;如果它指出是真的,那么一个单独的应用程序实例将需要为最终用户的每一个可能的位置的安装如/usr/bin
,/Library/Frameworks
等待建
UPDATE: Info.plist的定义:
<key>PythonExecutable</key>
<string>/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python</string
然而,最终用户只有在/usr/bin
中安装了系统。
这是否意味着每一个终端用户需要有一个外部安装了Python,它必须住在/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python
如果他们没有什么非苹果的Python?如果他们有一个非Apple Python,但它不是2.6?如何避免这种有点硬编码的依赖关系?
'find MyAppliation.app -name Python。框架'什么都不返回 – Pyderman