py2app is not copying the Python.framework to the new app while using virutalenv

macdhuibh picture macdhuibh · Apr 17, 2012 · Viewed 9.7k times · Source

environment: MacOS X 10.7.2, system installed python 2.7.1, virtualenv 1.7.2, pyobjc 2.3, py2app 0.6.4+

I have a newly created virtualenv with pyobc 2.3 and py2app installed. When I run python setup.py py2app to create an app (for example in py2app/examples/simple) everything seems to compile and it does produce a double clickable app, but after clicking on that app I get the following error:

A Python runtime not could be located.  You may need to install a framework build of Python, or edit the PyRuntimeLocations array in this application's Info.plist file.

However, if i follow the same process in the standard install of Lion. The app functions well and as expected.

Any suggestions on how I can make virtualenv and py2app play nicely with one another?

Thanks!

Answer

Ned Deily picture Ned Deily · Apr 17, 2012

py2app never copies a system Python into an app bundle that it produces. If you want to make a standalone app that can be deployed on multiple versions of OS X, you need to use py2app with a separately-installed Python, like from a python.org installer. See, for example, Py2App Can't find standard modules