C:/Program\ Files/Python24

Should work (though I haven't tested it)

On 11/16/05, Phillip J. Eby <[EMAIL PROTECTED]> wrote:
>
> Mark Mc Mahon wrote:
> > On 11/16/05, Phillip J. Eby <[EMAIL PROTECTED]> wrote:
> > >
> > > At 01:19 PM 11/16/2005 -0500, Phillip J. Eby wrote:
> > > >At 10:17 PM 11/15/2005 -0600, Ian Bicking wrote:
> > > > >[EMAIL PROTECTED] wrote:
> > > > > > Perhaps this has been mentioned already. So, forgive me if it has.
> > > > > >
> > > > > > I install Python into 'C:/Program Files/Python24' as I do not like 
> > > > > > to
> > > > > > clutter up the C:/ portion of my file system. After installing
> > > > > > turbogears and trying to begin the tutorial, I get the below error 
> > > > > > when
> > > > > > I do this 'tg-admin quickstart':
> > > > > >
> > > > > > Program: can't open file 'Files\Python24\python.exe' : [Error 2] No
> > > > > > such file or directory
> > > > > >
> > > > > > The same thing happens when I try to run easy_install.exe
> > > > > >
> > > > > > The .py versions of tg-admin and easy_install work fine... it's just
> > > > > > the .exe versions that crash. I have named this the 'hard-coded 
> > > > > > python
> > > > > > path bug'.
> > > >
> > > >Actually, it's not hardcoding that's the issue.  It's that something
> > > >somewhere is using spaces to parse the #! line.  I'll look into this, as
> > > >I'm not sure whether it's in the setuptools #! line code, or in the 
> > > >.exe's
> > > >#! parser.
> > >
> > > Okay, it's more subtle than that.  The problem is that something about how
> > > Python is spawned by the launcher, is causing Python to think that the
> > > space in its filename means that the part after the space is an
> > > argument.  (I'd like to have an argument, please!)  So I'm not quite sure
> > > how to fix it, exactly, particularly because I don't know if it's Python
> > > that's the problem, or the way the launcher is invoking Python.  :(
> > >
> >
> > I would guess that you have already looked at this but could it be
> > something as simple as putting inverted comma's around the command
> > line?
> >
> > c:\Program Files\Python24\Python.exe -> "c:\Program 
> > Files\Python24\Python.exe"
>
> I tried various ways of doing that in the .exe, and none of them
> worked.
>
>
> > Another alternative if you don't figure out another way is to use
> > GetShortPathName
> > (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/getshortpathname.asp)
> > but that is of course very platform specific - so maybe not what you
> > want.
>
> No, it's probably exactly what I want.  I believe that the issue has to
> do with Windows' command-line processing.  I'm using execv and/or
> spawnv in the .exe launchers, and I think that what's happening is
> Python doesn't receive exactly the same arguments as I pass it; some
> part of Windows or Python is re-parsing the command line, turning it
> into:
>
>    "C:\Program" "Files\Python24\Python.exe"
>
> Python then thinks its name is "Program", and that it's supposed to run
> a Python script called "Files\Python24\Python.exe"!  I'm able to
> reproduce this behavior.
>
> Probably the issue here is that I need to be using some Windows API to
> invoke Python instead of execv/spawnv, in order to prevent the command
> line from being re-parsed.  :(
> Failing that, using the short name API might be the best workaround,
> although technically I believe a short name can have a space in it too!
>  It's just not as likely to.
>
>


--
[EMAIL PROTECTED] - Cell: 760.815.5579

Reply via email to