我的理解是,只要使用非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