process.py problems

Justin Johnson justinjohnson at fastmail.fm
Wed Jul 9 14:30:05 CEST 2003


After replacing my process.py I still get an error with the dir command
(see below).

I'm getting some wierd results with normal .exe commands though. 
Commands that don't have much output come back just fine, but commands
that have more output, even if they don't take long to run necessarily,
seem to get stuck and just hang, never returning.

E:\ccase\python\uhg\uht>python
ActivePython 2.2.2 Build 224 (ActiveState Corp.) based on
Python 2.2.2 (#37, Nov 26 2002, 10:24:37) [MSC 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import process
>>> p = process.ProcessOpen("dir")
process: info:ProcessOpen.__init__(cmd='dir', mode='t', cwd=None,
env=None)
process.res: info:[11054544] ProcessOpen._start(): create child stdin:
<_FileWra
pper: file:None fd:3 os_handle:<PyHANDLE object at 0x00A8ACA4>>
process.res: info:[11054544] ProcessOpen._start(): create child stdout:
<_FileWr
apper: file:None fd:4 os_handle:<PyHANDLE object at 0x00A8D6B4>>
process.res: info:[11054544] ProcessOpen._start(): create child stderr:
<_FileWr
apper: file:None fd:5 os_handle:<PyHANDLE object at 0x00A8D694>>
process: debug:_whichFirstArg: first='dir', rest=''
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "process.py", line 1118, in __init__
    self._startOnWindows()
  File "process.py", line 1289, in _startOnWindows
    cmd = _fixupCommand(cmd, self._env)
  File "process.py", line 516, in _fixupCommand
    cmd = _whichFirstArg(cmd, env)
  File "process.py", line 325, in _whichFirstArg
    candidate = which.which(first)
  File "which.py", line 251, in which
    raise WhichError("Could not find '%s' on the path." % command)
which.WhichError: Could not find 'dir' on the path.
>>>

>>> p = process.ProcessOpen("cleartool lsvob -l")
process: info:ProcessOpen.__init__(cmd='cleartool lsvob -l', mode='t',
cwd=None,
 env=None)
process.res: info:[18469440] ProcessOpen._start(): create child stdin:
<_FileWra
pper: file:None fd:3 os_handle:<PyHANDLE object at 0x01198B44>>
process.res: info:[18469440] ProcessOpen._start(): create child stdout:
<_FileWr
apper: file:None fd:4 os_handle:<PyHANDLE object at 0x0119CA74>>
process.res: info:[18469440] ProcessOpen._start(): create child stderr:
<_FileWr
apper: file:None fd:5 os_handle:<PyHANDLE object at 0x0119A9E4>>
process: debug:_whichFirstArg: first='cleartool', rest='lsvob -l'
process: debug:_SaferCreateProcess(appName=None,
                    cmd='"C:\\Program
                    Files\\Rational\\ClearCase\\bin\\cleartool
.EXE" lsvob -l',
                    env=None,
                    cwd=None)
    os.getcwd(): 'E:\\ccase\\python\\uhg\\uht'

process: info:_registerprocess(process=<process.ProcessOpen instance at
0x0119D2
40>)
***** It doesn't return here *****


On Tue, 8 Jul 2003 17:01:32 -0700, "Trent Mick" <trentm at ActiveState.com>
said:
> 
> Yup, process.py is expected a which.py <1.0. Crappy. I need to put up a
> new process.py. To work around in it in your current build you need to
> changes process.py's usages of which.which() to expect a single hit
> instead of a list of a all hits. In other words, which.which() changed
> from:
>     >>> which.which("python")
>     ["C:\\Python22\\python.exe", "C:\\Python21\\python.exe", ...]
> to:
>     >>> which.which("python")
>     "C:\\Python22\\python.exe"
> 
> This is a little bit of a pain to do though. I have attached an untested
> process.py that should have this fixed. I apologize for the informalness
> of this. I'll try to get a new process.py version up on
> <starship.python.net/~tmick> when I get a chance.
> 
> Cheers,
> Trent
> 
> 
> [Justin Johnson wrote]
> > Thanks for the reply!
> > 
> > which 1.0.2
> > 
> > Here's the log output with the dir command
> > -----------------------
> > process.res: info:[18392288] ProcessOpen._start(): create child stdin:
> > <_FileWra
> > pper: file:None fd:3 os_handle:<PyHANDLE object at 0x0118C694>>
> > process.res: info:[18392288] ProcessOpen._start(): create child stdout:
> > <_FileWr
> > apper: file:None fd:4 os_handle:<PyHANDLE object at 0x0118C674>>
> > process.res: info:[18392288] ProcessOpen._start(): create child stderr:
> > <_FileWr
> > apper: file:None fd:5 os_handle:<PyHANDLE object at 0x0118C654>>
> > process.res: info:[18392288] ProcessOpen.__del__()
> > process: info:[18392288] ProcessOpen.close()
> > process: info:[18392288] ProcessOpen: closing stdin (<_FileWrapper:
> > file:None fd
> > :3 os_handle:<PyHANDLE object at 0x0118C694>>).
> > process: debug:[18400496] _FileWrapper.close()
> > process: debug:[18400496] _FileWrapper.close: close handle
> > process: debug:[18400496] _FileWrapper.close: closing handle raised
> > process: debug:[18400496] _FileWrapper.close: done closing handle
> > process: info:[18392288] ProcessOpen: closing stdout (<_FileWrapper:
> > file:None f
> > d:4 os_handle:<PyHANDLE object at 0x0118C674>>).
> > process: debug:[18400720] _FileWrapper.close()
> > process: debug:[18400720] _FileWrapper.close: close handle
> > process: debug:[18400720] _FileWrapper.close: closing handle raised
> > process: debug:[18400720] _FileWrapper.close: done closing handle
> > process: info:[18392288] ProcessOpen: closing stderr (<_FileWrapper:
> > file:None f
> > d:5 os_handle:<PyHANDLE object at 0x0118C654>>).
> > process: debug:[18403024] _FileWrapper.close()
> > process: debug:[18403024] _FileWrapper.close: close handle
> > process: debug:[18403024] _FileWrapper.close: closing handle raised
> > process: debug:[18403024] _FileWrapper.close: done closing handle
> > process: debug:[18400720] _FileWrapper.close()
> > process: debug:[18400496] _FileWrapper.close()
> > process: debug:[18403024] _FileWrapper.close()
> > ----------------
> > 
> > I also get the following results running commands that are in my path...
> > ------------------
> > g`"apper: file:None fd:5 os_handle:<PyHANDLE object at 0x011D30A4>>
> > process: debug:_SaferCreateProcess(appName=None,
> >                     cmd='C lsview -s',
> >                     env=None,
> >                     cwd=None)
> >     os.getcwd(): 'E:\\ccase\\python\\uhg\\uht'
> > 
> > process.res: info:[18680944] ProcessOpen.__del__()
> > process: info:[18680944] ProcessOpen.close()
> > process: info:[18680944] ProcessOpen: closing stdin (<_FileWrapper:
> > file:None fd
> > :3 os_handle:<PyHANDLE object at 0x011D4744>>).
> > process: debug:[18696880] _FileWrapper.close()
> > process: debug:[18696880] _FileWrapper.close: close handle
> > process: debug:[18696880] _FileWrapper.close: closing handle raised
> > process: debug:[18696880] _FileWrapper.close: done closing handle
> > process: info:[18680944] ProcessOpen: closing stdout (<_FileWrapper:
> > file:None f
> > d:4 os_handle:<PyHANDLE object at 0x011D47C4>>).
> > process: debug:[18696832] _FileWrapper.close()
> > process: debug:[18696832] _FileWrapper.close: close handle
> > process: debug:[18696832] _FileWrapper.close: closing handle raised
> > process: debug:[18696832] _FileWrapper.close: done closing handle
> > process: info:[18680944] ProcessOpen: closing stderr (<_FileWrapper:
> > file:None f
> > d:5 os_handle:<PyHANDLE object at 0x011D30A4>>).
> > process: debug:[18699984] _FileWrapper.close()
> > process: debug:[18699984] _FileWrapper.close: close handle
> > process: debug:[18699984] _FileWrapper.close: closing handle raised
> > process: debug:[18699984] _FileWrapper.close: done closing handle
> > process: debug:[18696832] _FileWrapper.close()
> > process: debug:[18696880] _FileWrapper.close()
> > process: debug:[18699984] _FileWrapper.close()
> > ---------
> > 
> > 
> 
> -- 
> Trent Mick
> TrentM at ActiveState.com





More information about the Python-list mailing list