
Ronald Oussoren wrote:
On 19 Sep, 2007, at 6:25, Ian Bicking wrote:
Ronald Oussoren wrote:
Ronald Oussoren wrote:
On 16 Sep, 2007, at 21:44, Ian Bicking wrote:
Ronald Oussoren wrote: > On 15 Sep, 2007, at 18:09, Ian Bicking wrote: >> Hi all. I'm kind of giving up on workingenv, and have started >> working >> from virtual-python as a basis instead >> (http://pypi.python.org/pypi/virtualenv/). >> >> So the basic technique here is to copy the executable into >> /ENV/bin/python, and then sys.prefix will be '/ENV'. The standard >> Python installed on a Mac doesn't seem to do this -- the prefix >> remains >> '/opt/local/Library/Frameworks/Python.framework/Versions/2.4' >> regardless. (Custom built Python's on Mac work like normal.) > All framework builds behave as you describe, Modules/getpath.c > special-cases calculation of sys.prefix for framework builds of > Python (the prefix is inside the framework regardless of where > the executable is).
Is there any way to effect that calculation? I.e., in a normal build that calculation is based on the location of the executable, so virtualenv moves the executable to effect that. Move the framework.
I don't really know what that means...? What exactly is the framework? The python framework, that is /Library/Frameworks/Python.framework (or /System/... if you use Apple's build of Python). getpath.c uses some API calls to determine the absolute path of the python framework
On 16 Sep, 2007, at 21:55, Ian Bicking wrote: linked into the current executable and sets sys.prefix to a directory inside that framework.
Do you have a reference to the getpath.c that it uses? Windows seems to have something kind of hardcoded, but also a detection scheme, and maybe similarly on Mac there's something I can do to avoid the hardcoded portion.
It is in the python.org source tree: Modules/getpath.c
That's the file used in the Framework build of Python? I only see some small references to __APPLE__, none of which seem related to Frameworks. Also, if you build Python from source it works fine -- it's only the python that Apple ships that has the problem. They must use some patched version of this file that they use...? -- Ian Bicking : ianb@colorstudy.com : http://blog.ianbicking.org : Write code, do good : http://topp.openplans.org/careers