Huhu,
danke für die schnelle Antwort !
In welcher Datei meinst du, dass ich da einen print Befehl einfügen soll ? In der os.oy oder in der, die os.py aufruft (Das wäre dann ja installDlg.py, wenn ich das richtig interpretiere ?). Sorry, aber ich bin wie gesagt ein totaler Python-Neuling. Ich hab das mal probeweise in zwei getrennten Läufen in beide Dateien eingefügt, aber ich bekomme jetzt nur ein print file in der Fehlermeldung angezeigt. Ich bin mir auch nicht sicher ob ich das richtig eingefügt hab... wenn jemand mal schauen könnte wäre ich sehr dankbar ! Im übrigen legt die Installation wirklich eine Datein "gztar.sh" im temporären Installationsverzeichnis an. Wenn ich nun wissen würde, warum der die nicht findet, wäre ich ein großes Stück weiter. Kann das vielleicht daran liegen, dass in meinem /usr Verzeichnis nur ein Link liegt namens "tmp", die eigentlichen Dateien aber unter /var/TA_INSTALL.... liegen ? Ich weiss ja nicht ob Python mit sowas umgehen kann...
Hier die eingefügten Zeilen in den beiden Dateien:
Nummer1: Code von os.py geändert
Fehlermeldung:
Copying install files...
Copying python files...
Unzipping python files...
Exception in Tkinter callback
Traceback (most recent call last):
File "/dsw/testing/pbondi/scratch/sybuny70_wh/cd1a/linux_python/lib/python2.1/lib-tk/Tkinter.py", line 1285, in __call__
return apply(self.func, args)
File "/usr/tmp/TA_INSTALL4996/installDlg.py", line 376, in doInstall
self.install()
File "/usr/tmp/TA_INSTALL4996/installDlg.py", line 600, in install
self.installIt(x)
File "/usr/tmp/TA_INSTALL4996/installDlg.py", line 710, in installIt
self.installItHere(product, self.taroot, self.plats)
File "/usr/tmp/TA_INSTALL4996/installDlg.py", line 798, in installItHere
os.execl(tmpDir+"gztar.sh","gztar.sh",cdname)
File "/dsw/testing/pbondi/scratch/sybuny70_wh/cd1a/linux_python/lib/python2.1/os.py", line 259, in execl
print file
OSError: [Errno 2] No such file or directory
Code dazu:
Code: Alles auswählen
def execl(file, *args):
"""execl(file, *args)
Execute the executable file with argument list args, replacing the
current process. """
print file <------------ (das hab ich eingefügt!)
execv(file, args)
def execle(file, *args):
"""execle(file, *args, env)
Execute the executable file with argument list args and
environment env, replacing the current process. """
env = args[-1]
execve(file, args[:-1], env)
Nummer2: install.Dlg.py geändert
Fehlermeldung:
Copying install files...
Copying python files...
Unzipping python files...
Exception in Tkinter callback
Traceback (most recent call last):
File "/dsw/testing/pbondi/scratch/sybuny70_wh/cd1a/linux_python/lib/python2.1/
lib-tk/Tkinter.py", line 1285, in __call__
return apply(self.func, args)
File "/usr/tmp/TA_INSTALL4627/installDlg.py", line 376, in doInstall
self.install()
File "/usr/tmp/TA_INSTALL4627/installDlg.py", line 600, in install
self.installIt(x)
File "/usr/tmp/TA_INSTALL4627/installDlg.py", line 710, in installIt
self.installItHere(product, self.taroot, self.plats)
File "/usr/tmp/TA_INSTALL4627/installDlg.py", line 798, in installItHere
print file
File "/dsw/testing/pbondi/scratch/sybuny70_wh/cd1a/linux_python/lib/python2.1/
os.py", line 259, in execl
execv(file, args)
OSError: [Errno 2] No such file or directory
Code dazu:
Code: Alles auswählen
def installItHere(self, product, dir, platforms):
if (self.cancelled.get() == 1):
return
self.kw["cd"].set(os.path.abspath(self.kw["cd"].get())+"/")
if os.environ.has_key("INST_TMP"):
tmpDir = os.environ["INST_TMP"] + "/"
else:
tmpDir = os.getcwd() + "/"
if (self.kw.has_key("flagged")):
if (self.kw["flagged"].count(product)):
if (platforms.count("_all")):
platforms.remove("_all")
# Save the old dir to go back to afterwards
olddir = os.getcwd()
os.chdir(dir)
self.log.write("Installing " + product + "\n")
self.log.flush()
for x in self.kw["tars"][product]:
for y in platforms:
name = x + y + ".tar.gz"
cdname = self.kw["cd"].get() + name
if (os.access(cdname, os.F_OK)):
if (self.cancelled.get() == 0):
if (self.prodtars[product].count(name)):
self.prodtars[product].remove(name)
self.tarpid = os.fork()
if not (self.tarpid):
#print " In the child: Name = %s"%cdname
print file <-------------------------------(eingefügt !)
os.execl(tmpDir+"gztar.sh","gztar.sh",cdname)
os._exit(0)
else:
#print "Child process is: %i"%self.tarpid
os.waitpid(self.tarpid, 0)
os.chdir(olddir)
Und da ja gztar.sh einfach wohl so als String angegeben wird, hab ich auch mal anstelle des print file ein print tmpDir in die installDlg.py an die gleich Stelle gesetzt, aber da bekomme ich nur:
Copying install files...
Copying python files...
Unzipping python files...
Exception in Tkinter callback
Traceback (most recent call last):
File "/dsw/testing/pbondi/scratch/sybuny70_wh/cd1a/linux_python/lib/python2.1/
lib-tk/Tkinter.py", line 1285, in __call__
return apply(self.func, args)
File "/usr/tmp/TA_INSTALL4627/installDlg.py", line 376, in doInstall
self.install()
File "/usr/tmp/TA_INSTALL4627/installDlg.py", line 600, in install
self.installIt(x)
File "/usr/tmp/TA_INSTALL4627/installDlg.py", line 710, in installIt
self.installItHere(product, self.taroot, self.plats)
File "/usr/tmp/TA_INSTALL4627/installDlg.py", line 798, in installItHere
print tmpDir
File "/dsw/testing/pbondi/scratch/sybuny70_wh/cd1a/linux_python/lib/python2.1/
os.py", line 259, in execl
execv(file, args)
OSError: [Errno 2] No such file or directory
Hab ich da bei dem Einfügen was falsch gemacht ?
Gruß,
DocNoob