Python-subprocess mit import subprocess

Kann man das irgendwie überwinden? Kann ein Kind-Prozess erstellen, der ein Teilprozess?

Das problem ist, ich habe eine fertige Anwendung, die Bedürfnisse zu nennen, ein Python-Skript. Dieses Skript auf seinem eigenen perfekt funktioniert, aber es braucht, um vorhandene shell-Skripte.

Schematisch das problem ist in dem folgenden code:

parent.py

import subprocess
subprocess.call(['/usr/sfw/bin/python', '/usr/apps/openet/bmsystest/relAuto/variousSW/child.py','1', '2'])

child.py

import sys
import subprocess
print sys.argv[0]
print sys.argv[1]

subprocess.call(['ls -l'], shell=True)
exit

Laufen child.py

python child.py 1 2
  all is ok

Laufen parent.py

python  parent.py
Traceback (most recent call last):
  File "/usr/apps/openet/bmsystest/relAuto/variousSW/child.py", line 2, in ?
    import subprocess
ImportError: No module named subprocess
  • Dies ist auf Solaris 2.6.2 - haben Sie versucht, diese Beispiele auf einer anderen Plattform?
  • Sorry - Solaris 10, python 2.6.2 gebaut wurde aus der Quelle
  • Es sollte funktionieren. Siehe meine Antwort. Ich habe eine Ahnung, dass Sie mit zwei verschiedenen python-executable.
  • Kurz vor der import subprocess line-in child.py, drucken Sie sys.path. Ein Vergleich zwischen dem Fall, wo es funktioniert, und der Fall, wo es nicht.
InformationsquelleAutor apllom | 2010-12-06
Schreibe einen Kommentar