Hallo zusammen
Mein Messprogramm hat ein Script-Tool das jedoch nicht direkt unter C:Python yx installiert ist.
Python ist Version 2.6.5
Betriebssystem Win XP SP3
ich bekommen folgende Fehlermeldung wenn ich den Script aufrufe:
Traceback (most recent call last):
File "C:\Dokumente und Einstellungen\All Users\Dokumente\ServiceLab\12.0.0\ger\other\script\tmp\PScript00.py", line 24, in <module>
x=Info(txt,title)
File "C:\Dokumente und Einstellungen\All Users\Dokumente\ServiceLab\12.0.0\ger\other\script\tmp\PScript00.py", line 14, in Info
root= Tk();
File "C:\Programme\ServiceLab 12.0\python\lib\lib-tk\Tkinter.py", line 1638, in __init__
baseName = os.path.basename(sys.argv[0])
AttributeError: 'module' object has no attribute 'argv'
Folgender Programmcode ist in den Umliegnden Zeilen:
if baseName is None:
import sys, os
baseName = os.path.basename(sys.argv[0])
baseName, ext = os.path.splitext(baseName)
if ext not in ('.py', '.pyc', '.pyo'):
baseName = baseName + ext
interactive = 0
self.tk = _tkinter.create(screenName, baseName, className, interactive, wantobjects, useTk, sync, use)
Hat der Verweis auf os.path. xy die Ursache, weil der Pfad nicht wie gewohnt unter C: liegt?
oder was könnte die Ursache sein?
grüsse
Thomas
Fehlermeldung wenn Python nicht unter C:\ installiert ist?
-
- User
- Beiträge: 48
- Registriert: Samstag 2. Februar 2013, 18:52
Zuletzt geändert von thomasgull am Sonntag 19. Mai 2013, 17:56, insgesamt 1-mal geändert.
Hast Du zufällig eine Datei sys.py oder sys.pyc in dem Ordner, wo Dein Skript liegt, rumfliegen? Diese müsstest Du umbennen.
Mit os.path hat dein Problem nichts zu tun. Ansonsten bitte Code in [ python ] [/ python ] Blöcke verpacken (ohne Leerzeichen zwischen den eckigen Klammern).
Und bedeutet nicht der letzte Abschnitt der Fehlermeldung, dass dieser Code so in Tkinter.py steht?
Das wäre ja wirklich komisch! Und warum benutzt du _tkinter?
Mit os.path hat dein Problem nichts zu tun. Ansonsten bitte Code in [ python ] [/ python ] Blöcke verpacken (ohne Leerzeichen zwischen den eckigen Klammern).
Und bedeutet nicht der letzte Abschnitt der Fehlermeldung, dass dieser Code so in Tkinter.py steht?

-
- User
- Beiträge: 48
- Registriert: Samstag 2. Februar 2013, 18:52
im ganzen Python Ordner gibt es kein sys.Py()
-
- User
- Beiträge: 48
- Registriert: Samstag 2. Februar 2013, 18:52
also der ganze Programmteil lautet:
wie gesagt unter Py27 läft es und
wenn ich es im Messprogramm unter Py 2.6.5
aufrufe kommt die Fehlermeldung
habe ich da was übersehen?
Code: Alles auswählen
from Tkinter import *
def Info(txt1,txt2):
root= Tk();
root.title('Toplevel')
Label(root,text=(txt1)).pack(pady=10)
Label(root,text=(txt2)).pack(pady=10)
root.mainloop()
txt="Meldung21"
title="Motorstörung"
x=Info(txt,title)
wie gesagt unter Py27 läft es und
wenn ich es im Messprogramm unter Py 2.6.5
aufrufe kommt die Fehlermeldung
habe ich da was übersehen?
Zuletzt geändert von Anonymous am Sonntag 19. Mai 2013, 18:24, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Code-Tags gesetzt.
Grund: Quelltext in Python-Code-Tags gesetzt.
Du solltest Deine Skripte natürlich nicht wie Module benennen, da Du diese dann nicht verwenden kannst.thomasgull hat geschrieben:Betreff: Fehlermeldung wenn Python nicht unter C:\ installiert ist?
nomnom hat geschrieben:Hast Du zufällig eine Datei sys.py oder sys.pyc in dem Ordner, wo Dein Skript liegt, rumfliegen? Diese müsstest Du umbennen.
Mit os.path hat dein Problem nichts zu tun. Ansonsten bitte Code in [ python ] [/ python ] Blöcke verpacken (ohne Leerzeichen zwischen den eckigen Klammern).
Und bedeutet nicht der letzte Abschnitt der Fehlermeldung, dass dieser Code so in Tkinter.py steht?Das wäre ja wirklich komisch! Und warum benutzt du _tkinter?
also von mir aus sehe ich es auch so das es in Tkinter.py liegt, der ganze script läuft jedoch auf einem anderen Rechner direkt unter c:\Python 27 also Python 2.7
wieso meinst du Benutzen von tkinter?
Warum benutzt du _tkinter und nicht Tkinter? Schreibst du das Tkinter-Modul um?
Edit: Verwende Python-Tags, da sonst keine Einrückung ersichtlich ist. Es gibt einen "Bearbeiten"-Button.
Edit #2: Der Code, den du gepostest hast, ist also gar nicht Deiner, sondern kommt aus dem Modul... Jetzt versteh ichs.
@thomasgull:
versuch mal
versuch mal
Code: Alles auswählen
root = Tk(baseName='irgendwas');
-
- User
- Beiträge: 48
- Registriert: Samstag 2. Februar 2013, 18:52
Danke sieht schon viel besser aus. Genaueren grund dafür?
Danke nochmals
Danke nochmals
@thomasgull: Wenn das Argument nicht angegeben wird, versucht `Tkinter` den Wert aus `sys.argv` zu bilden. Und das Attribut scheint es bei dem in der Anwendung eingebetteten Python bei Dir nicht zu geben.
-
- User
- Beiträge: 48
- Registriert: Samstag 2. Februar 2013, 18:52
Danke vielmals,
sorry ich wollte nur den grund wissen
Danke
sorry ich wollte nur den grund wissen
Danke