Hallo zusammen,
ich beschäftige mich erst seit gestern mit Python und scheitere bereits bei der Installation von pygtk unter Windows. Dazu habe ich auch schon einige Beiträge im Forum gelesen, welche mir aber leider nicht weiterhelfen konnten.
Mein Vorgehen:
- Python 2.5 installiert
- GTK+ (2.10.6) installiert
- PyGTK (2.10.3) installiert
- Glade (3.0.2) runtergeladen und ausgeführt <das läuft schonmal>
Mit Hilfe eines kleinen Programmes habe ich nun die Funktionalität testen wollen. Aber ... Fehler!
Traceback (most recent call last):
File "C:\Python25\source\example.py", line 1, in <module>
import pygtk
ImportError: No module named pygtk
Wenn pygtk nicht mit eingebunden ist bekomme ich folgende Fehlermeldung:
Traceback (most recent call last):
File "C:\Python25\source\example.py", line 2, in <module>
import gtk
File "C:\Python25\Lib\site-packages\gtk-2.0\gtk\__init__.py", line 38, in <module>
import gobject as _gobject
ImportError: No module named gobject
Wie lassen sich die Fehler beheben?
Ich bin für jeden Rat dankbar!
pygtk unter Windows wird nicht erkannt
Danke für den Hinweis, Leonidas.
Aber jetzt tritt folgender Fehler auf:
Traceback (most recent call last):
File "C:\Python25\source\example.py", line 3, in <module>
import gtk
File "C:\Python25\lib\site-packages\gtk-2.0\gtk\__init__.py", line 48, in <module>
from gtk import _gtk
File "C:\Python25\lib\site-packages\cairo\__init__.py", line 1, in <module>
from _cairo import *
ImportError: DLL load failed: Die angegebene Prozedur wurde nicht gefunden.
Wo kann ich die dll's einbinden? (In der Umgebungsvariablen funktionierts nicht. )
Aber jetzt tritt folgender Fehler auf:
Traceback (most recent call last):
File "C:\Python25\source\example.py", line 3, in <module>
import gtk
File "C:\Python25\lib\site-packages\gtk-2.0\gtk\__init__.py", line 48, in <module>
from gtk import _gtk
File "C:\Python25\lib\site-packages\cairo\__init__.py", line 1, in <module>
from _cairo import *
ImportError: DLL load failed: Die angegebene Prozedur wurde nicht gefunden.
Wo kann ich die dll's einbinden? (In der Umgebungsvariablen funktionierts nicht. )
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Du musst den Ordner mit den GTK+-DLLs an den %PATH% anhängen und dann neustarten (oder zumindest ausloggen), damit die Variable übernommen wird.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Hui, schnelle Antwort!
Mit "sys.path" werden doch die Ordner/Unterordner angezeigt, die in meiner definierten PATH-Variablen stehen, oder?
Das sieht bei mir so aus:
['C:\\Python25\\source', 'C:\\Python25\\Lib\\idlelib', 'C:\\Python25\\python25.zip', 'C:\\Python25\\DLLs', 'C:\\Python25\\lib', 'C:\\Python25\\lib\\plat-win', 'C:\\Python25\\lib\\lib-tk', 'C:\\Python25', 'C:\\Python25\\lib\\site-packages', 'C:\\Python25\\lib\\site-packages\\gtk-2.0']
Aber in meiner PATH steht:
C:\Programme\Gemeinsame Dateien\GTK\2.0;C:\Python25
Anmerkung:
Ich prüfte dies auch in der Console (Commadozeile) und hier stehen bei PATH alle Verzeichnisse.
Die dll's werden noch immer nicht erkannt!
Mit "sys.path" werden doch die Ordner/Unterordner angezeigt, die in meiner definierten PATH-Variablen stehen, oder?
Das sieht bei mir so aus:
['C:\\Python25\\source', 'C:\\Python25\\Lib\\idlelib', 'C:\\Python25\\python25.zip', 'C:\\Python25\\DLLs', 'C:\\Python25\\lib', 'C:\\Python25\\lib\\plat-win', 'C:\\Python25\\lib\\lib-tk', 'C:\\Python25', 'C:\\Python25\\lib\\site-packages', 'C:\\Python25\\lib\\site-packages\\gtk-2.0']
Aber in meiner PATH steht:
C:\Programme\Gemeinsame Dateien\GTK\2.0;C:\Python25
Anmerkung:
Ich prüfte dies auch in der Console (Commadozeile) und hier stehen bei PATH alle Verzeichnisse.
Die dll's werden noch immer nicht erkannt!
Zuletzt geändert von Danshi am Montag 30. Oktober 2006, 10:26, insgesamt 1-mal geändert.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Nein, sys.path zeigt den %PYTHONPATH% an, d.h. den Pfad in dem Python nach Modulen sucht. Der System-PATH (unter Windows %PATH%) ist unter os.environ['PATH'] zu finden und wie du siehst unterscheidet er sich ziemlich:Danshi hat geschrieben:Mit "sys.path" werden doch die Ordner/Unterordner angezeigt, die in meiner definierten PATH-Variablen stehen, oder?
Code: Alles auswählen
In [7]: os.environ['PATH']
Out[7]: '/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games'
In [8]: sys.path
Out[8]: ['', '/usr/local/bin', '/usr/lib/python25.zip', '/usr/lib/python2.5', '/usr/lib/python2.5/plat-linux2', '/usr/lib/python2.5/lib-tk', '/usr/lib/python2.5/lib-dynload', '/usr/local/lib/python2.5/site-packages', '/usr/lib/python2.5/site-packages']
Wo ist denn bei dir der GTK-Kram installiert? In welchem Ordner sind die GTK-DLLs zu finden?Danshi hat geschrieben:Aber in meiner PATH steht:
C:\Programme\Gemeinsame Dateien\GTK\2.0;C:\Python25
Nein, es wird nicht ignoriert, denn %PYTHONPATH% hat mit %PATH% nichts zu tun, wie ich es schon oben erklärt habe.Danshi hat geschrieben:Das erste Verzeichnis wird ignoriert, warum? Oder was passiert da genau?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Der GTK-Kram ist hier installiert:
C:\Programme\Gemeinsame Dateien\GTK\
...und die dazugehörigen DLL's sind dementsprechend in den Unterordnern:
C:\Programme\Gemeinsame Dateien\GTK\2.0\bin;
C:\Programme\Gemeinsame Dateien\GTK\2.0\lib\gtk-2.0\2.10.0\engines;
C:\Programme\Gemeinsame Dateien\GTK\2.0\lib\gtk-2.0\2.10.0\immodules;
C:\Programme\Gemeinsame Dateien\GTK\2.0\lib\gtk-2.0\2.10.0\loaders
C:\Programme\Gemeinsame Dateien\GTK\
...und die dazugehörigen DLL's sind dementsprechend in den Unterordnern:
C:\Programme\Gemeinsame Dateien\GTK\2.0\bin;
C:\Programme\Gemeinsame Dateien\GTK\2.0\lib\gtk-2.0\2.10.0\engines;
C:\Programme\Gemeinsame Dateien\GTK\2.0\lib\gtk-2.0\2.10.0\immodules;
C:\Programme\Gemeinsame Dateien\GTK\2.0\lib\gtk-2.0\2.10.0\loaders
Im Moment steht dieser Pfad unter den 'Benutzervariablen meines users'... und das ist scheinbar der Fehler!
Denn es geht noch immer nicht.
Also muss es in die Systemvariablen geschrieben werden.
Doch leider hab ich darauf keinen Zugriff...
Denn es geht noch immer nicht.
Also muss es in die Systemvariablen geschrieben werden.
Doch leider hab ich darauf keinen Zugriff...
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Du kannst einfach eine Kommandozeile öffnen und dort echo %PATH% eintippen. Wenn dort der GTK-Pfad drin ist, sollte alles ok sein. Wenn nicht, checkst du noch mal die PATH-Einstellungen, meldest dich ab, meldest dich wieder an und guckst wieder, ob %PATH% diesmal korrekt ist.Danshi hat geschrieben:Im Moment steht dieser Pfad unter den 'Benutzervariablen meines users'... und das ist scheinbar der Fehler!
Denn es geht noch immer nicht.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
KommandozeileEingabe:
V:\>echo %PATH%
C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\ORANT\BIN;c:\matlabr12\bin\
win32;C:\Programme\QuickTime\QTSystem\;C:\Programme\Gemeinsame Dateien\GTK\2.0\bin;C:\Python25
Der Pfad existiert!
Aber der Fehler bleibt bestehen!
....ImportError: DLL load failed: Die angegebene Prozedur wurde nicht gefunden.
V:\>echo %PATH%
C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\ORANT\BIN;c:\matlabr12\bin\
win32;C:\Programme\QuickTime\QTSystem\;C:\Programme\Gemeinsame Dateien\GTK\2.0\bin;C:\Python25
Der Pfad existiert!
Aber der Fehler bleibt bestehen!
....ImportError: DLL load failed: Die angegebene Prozedur wurde nicht gefunden.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Mir fällt jetzt eigentlich nur noch ein, dass du ein Downgrade auf GTK+ 2.8 machen könntest. Dazu deinstalliesrst du den ganzen Kram und installierst das Gladewin32-GTK+ 2.8 sammt PyGTK 2.8 & Co.
Scheinbar ist GTK+ 2.10 noch etwas problematisch.
Scheinbar ist GTK+ 2.10 noch etwas problematisch.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hi Danshi!Danshi hat geschrieben:Doch leider hab ich darauf keinen Zugriff...
Du bist nicht Administrator auf dem Computer. Das ist wahrscheinlich der Grund für deine Probleme. Es ist ziemlich selten der Fall, dass du zum korrekten Installieren eines Programmes ohne Admin-Rechte auskommst. Wahrscheinlich will das Installationsprogramm etwas in die Registry schreiben und darf nicht.
Bei mir ist das zumindest der Fall:
Code: Alles auswählen
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\GTK]
[HKEY_LOCAL_MACHINE\SOFTWARE\GTK\2.0]
"Path"="J:\\Programme\\GTK"
"DllPath"="J:\\Programme\\GTK\\bin"
"Version"="2.8.18"
"VendorVersion"="2.8.18-rc1"
[HKEY_LOCAL_MACHINE\SOFTWARE\GTK\glade]
"Path"="J:\\Programme\\GTK"
- Alles wieder deinstallieren
- Pfade bereinigen
- Neu starten
- Als Admin anmelden
- Alles in den vorgegebenen Pfad installieren. (C:\Programme\Gtk)
- Verwenden
mfg
Gerold
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Ich danke euch für eure Ratschläge!
Da ich eigentlich die neure Version (2.10) benutzen wollte, bin ich erstmal auf gerold's Vorschlag eingegangen und hab es als Admin versucht.
Aber das Problem war noch immer präsent.
Also versuchte ich nun doch Leonidas Vorschlag...
Und siehe da... mit GTK+ 2.8 und PyGTK2.8 funzts.
THX
Da ich eigentlich die neure Version (2.10) benutzen wollte, bin ich erstmal auf gerold's Vorschlag eingegangen und hab es als Admin versucht.
Aber das Problem war noch immer präsent.
Also versuchte ich nun doch Leonidas Vorschlag...
Und siehe da... mit GTK+ 2.8 und PyGTK2.8 funzts.
THX
Hallo,
ich bin ebenfalls Python-Neuling und habe ähnliche Probleme wie mein Vorredner.
Ich suchte mir per Google eine Anleitung, um PyGTK zu installieren. Dabei ging ich exakt nach dieser Anleitung vor. Python 2.5 hatte ich schon installiert, also lud ich mir GTK+ und den Windows Port herunter. Danach rebootete ich.
Ich habe ein kleines Test-Script im Internet gefunden:
Bei der Ausführung dieses Skripts erhalte ich die Fehlermeldung: "Traceback (most recent call last):
File "E:\Eigene Dateien\Programme\test.py", line 4, in <module>
import pygtk
ImportError: No module named pygtk".
Also las ich mir diesen Thread hier durch, deinstallierte Version 2.10 und ersetzte sie mit 2.8; danach ging es immer noch nicht.
Was sind denn PyGObject und PyCairo und wo kriege ich die her? Was ist Glade?
Entschuldigt diese "noobhaften" Fragen meinerseits, aber ich habe jetzt knapp ein Jahr lang nur Perl programmiert, hatte irgendwann diesen unübersichtlichen Code satt und bin zu Python gewechselt. Und ich hoffe, ich bin in der Python-Gemeinschaft willkommen!
Gruß
DHK
ich bin ebenfalls Python-Neuling und habe ähnliche Probleme wie mein Vorredner.
Ich suchte mir per Google eine Anleitung, um PyGTK zu installieren. Dabei ging ich exakt nach dieser Anleitung vor. Python 2.5 hatte ich schon installiert, also lud ich mir GTK+ und den Windows Port herunter. Danach rebootete ich.
Ich habe ein kleines Test-Script im Internet gefunden:
Code: Alles auswählen
#!/usr/local/bin/python
# example base.py
import pygtk
pygtk.require(2.0)
import gtk
class Base:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.show()
def main(self):
gtk.main()
print __name__
if __name__ == "__main__":
base = Base()
base.main()
File "E:\Eigene Dateien\Programme\test.py", line 4, in <module>
import pygtk
ImportError: No module named pygtk".
Also las ich mir diesen Thread hier durch, deinstallierte Version 2.10 und ersetzte sie mit 2.8; danach ging es immer noch nicht.
Was sind denn PyGObject und PyCairo und wo kriege ich die her? Was ist Glade?
Entschuldigt diese "noobhaften" Fragen meinerseits, aber ich habe jetzt knapp ein Jahr lang nur Perl programmiert, hatte irgendwann diesen unübersichtlichen Code satt und bin zu Python gewechselt. Und ich hoffe, ich bin in der Python-Gemeinschaft willkommen!
Gruß
DHK
Opera ist noch immer der beste...
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Hallo DHK, willkommen im Forum,
PyGObject ist der Python-Wrapper für GObject und PyCairo ist diesselbe für Cairo. Du kannst beide von Cedrics Seite herunterladen - inzwischen sind sie alle auf den GNOME-Servern verfügbar.
Glade ist der GUI-Designer des GTK-Projektes. Damit kannst du dir GUIs zusammenklicken, die dann in sogenannten glade-Dateien (XML) gespeichert werden und die du dann in deinem Programm laden kannst. Musst du aber nicht, du kannst GUIs auch ebenso "von Hand" programmieren.DHK hat geschrieben:Also las ich mir diesen Thread hier durch, deinstallierte Version 2.10 und ersetzte sie mit 2.8; danach ging es immer noch nicht.
Was sind denn PyGObject und PyCairo und wo kriege ich die her? Was ist Glade?
PyGObject ist der Python-Wrapper für GObject und PyCairo ist diesselbe für Cairo. Du kannst beide von Cedrics Seite herunterladen - inzwischen sind sie alle auf den GNOME-Servern verfügbar.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Hallo,
ich habe jetzt PyGObject und PyCairo installiert. Mein Skript sieht so aus:
Bei der Ausführung erhalte ich folgende Fehlermeldung:
Traceback (most recent call last):
File "E:\Eigene Dateien\Programme\test.py", line 5, in <module>
import gtk
File "C:\Python25\lib\site-packages\gtk-2.0\gtk\__init__.py", line 48, in <module>
from gtk import _gtk
ImportError: DLL load failed: Die angegebene Prozedur wurde nicht gefunden.
Die anderen Posts in diesem Thread konnten mir da auch nicht viel weiterhelfen. Wie gesagt, habe ich bereits ein Downgrade auf 2.8 gemacht.
Gruß
DHK
ich habe jetzt PyGObject und PyCairo installiert. Mein Skript sieht so aus:
Code: Alles auswählen
#!/usr/local/bin/python
# example base.py
import pygtk
import gtk
class Base:
def __init__(self):
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
self.window.show()
def main(self):
gtk.main()
print __name__
if __name__ == "__main__":
base = Base()
base.main()
Traceback (most recent call last):
File "E:\Eigene Dateien\Programme\test.py", line 5, in <module>
import gtk
File "C:\Python25\lib\site-packages\gtk-2.0\gtk\__init__.py", line 48, in <module>
from gtk import _gtk
ImportError: DLL load failed: Die angegebene Prozedur wurde nicht gefunden.
Die anderen Posts in diesem Thread konnten mir da auch nicht viel weiterhelfen. Wie gesagt, habe ich bereits ein Downgrade auf 2.8 gemacht.
Gruß
DHK
Opera ist noch immer der beste...
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Die PyGTK und GTK+ Versionen müssen in den ersten zwei Zahlen übereinstimmten: also PyGTK 2.8.x mit GTK+ 2.8.x, PyGTK 2.10.x mit GTK+ 2.10.x.DHK hat geschrieben:Und was könnte man dagegen tun?
Nein. Da du aber nicht genau sagst was das für eine Datei ist, wie sie heißt oder wo du sie her hast. Kann ich dir auch nicht sagen, was diese 5 MB große Datei ist. Kann ja alles mögliche sein, ich habe keine Kristallkugel.DHK hat geschrieben:GTK+ ist doch diese etwa 5 MB große Datei.
Die Python-Schnittstelle. Denn "normalerweise " programmiert man GTK-Programme in C, also braucht man einen Wrapper - PyGTK.DHK hat geschrieben:Und was ist dann PyGTK? Die Windows-Schnittstelle?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice