Ronald Oussoren wrote: > > On 19 Sep, 2007, at 6:25, Ian Bicking wrote: > >> Ronald Oussoren wrote: >>> On 16 Sep, 2007, at 21:55, Ian Bicking 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 >>> 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 : [EMAIL PROTECTED] : http://blog.ianbicking.org : Write code, do good : http://topp.openplans.org/careers _______________________________________________ Distutils-SIG maillist - [email protected] http://mail.python.org/mailman/listinfo/distutils-sig
