W32 - Scintilla funktioniert nur teilweise

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

Guten morgen mitsammen!

Ich habe ein wenig Probleme, den Scintilla Text Editor unter Windows (XP) "richtig" zum Laufen zu bringen und hoffe, ihr könnt mir behilflich sein.
Im Wiki habe ich schon nachgesehen, doch die Infos dort helfen mir nicht (auch wennn ganz tolle Tips dabei sind).

Die Sachlage / das Problem:
ein ganz einfaches Script, wie das folgende funktioniert einwandfrei.

Code: Alles auswählen

# euklidschen Algo.
# finde ggT zweier Zahlen.
a = int(raw_input("Gimme a number: "))
b = int(raw_input("gimme one more: "))

while b <> 0:
	if a > b:
		a = a -b
	else:
		b = b - a	
print a
Doch das folgende, ganz einfache Pygame-Script funktioniert schon wieder nicht.

Code: Alles auswählen

import pygame, sys
pygame.init()

black = 0,0,0
size = width, height = 640, 480

screen = pygame.display.set_mode(size)

while 1:
	for event in pygame.event.get():
		if event.type == pygame.QUIT:
			sys.exit()
			
	screen.fill(black)
	pygame.display.flip()
Der Traceback sieht wie folgt aus:
>pythonw -u "pygame_test_1.pyw"
Traceback (most recent call last):
File "pygame_test_1.pyw", line 1, in ?
import pygame, sys
ImportError: No module named pygame
>Exit code: 1
Das Pygame - Script funktioniert allerdings, wenn ich es mit IDLE, drPython oder SPE starte.

Ich bin jetzt wirklich ratlos.

Kann mir jemand seine helfende Hand reichen?
Für jede Hilfe dankbar.

Cheers,
Gruß!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Dann solltest du dein Programm generell aus der Konsole starten - ist übrigens ein sehr guter Tipp, der dir allerhand Kopfzerbrechen über Editorbugs erspart.

Zu deinem Problem: wie sieht bei dir sys.path aus, wenn du Code aus SciTE startest? Ist der Pfad wo Pygame installiert ist, im sys.path?

Übrigens: Statt while 1 kann man while True schreiben, welches klarer ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

Danke erst mal für die ultra-flotte Antwort. *verbeug*

Tja, das mit der Console ist eben das, was mich unter Win ein wenig nervt.
Zu deinem Problem: wie sieht bei dir sys.path aus, wenn du Code aus SciTE startest? Ist der Pfad wo Pygame installiert ist, im sys.path?
Ich nehme mal an, du meinst print dir(sys.path) oder?

Code: Alles auswählen

import sys
print dir(sys.path)
>python -u "syspath.py"
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__str__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
>Exit code: 0
(Das sagt mir aber gar nix. Sollte das nicht "mehr" sein??
Übrigens: Statt while 1 kann man while True schreiben, welches klarer ist.
War copy'n'paste aus nem Tut, aber ich werds mir merken. Klingt ja auch logisch. Dankesehr!
Gruß!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

C4S3 hat geschrieben:Tja, das mit der Console ist eben das, was mich unter Win ein wenig nervt.
Daher habe ich mir die ZSH unter Windows installiert. Für mich ist eine Konsole ein grundlegendes Werkzeug :)
C4S3 hat geschrieben:(Das sagt mir aber gar nix. Sollte das nicht "mehr" sein??
Sollte etwa so sein:

Code: Alles auswählen

>>> import sys
>>> print sys.path
['', '/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']
Wobei das natürlich jetzt nicht Windows ist, aber bei dir müsste es mehr oder weniger analog sein.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

Daher habe ich mir die ZSH unter Windows installiert. Für mich ist eine Konsole ein grundlegendes Werkzeug
Für mich auch. Bin ja doch ein Linux-User.... ^^ (auch wenn ich in diesem Fall auf W32 arbeiten möchte/muss).

ZSH? Aus den Unix-Utils?
http://unxutils.sourceforge.net/
Hab ich auch installiert! :)
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.

C:\Dokumente und Einstellungen\USER>python
Python 2.4.2 (#67, Sep 28 2005, 12:41:11) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print sys.path
['', 'C:\\Panda3D-1.3.1\\python\\python24.zip', 'C:\\Dokumente und Einstellungen
\\Peter', 'C:\\Panda3D-1.3.1\\python\\DLLs', 'C:\\Panda3D-1.3.1\\python\\lib', '
C:\\Panda3D-1.3.1\\python\\lib\\plat-win', 'C:\\Panda3D-1.3.1\\python\\lib\\lib-
tk', 'C:\\Panda3D-1.3.1\\python', 'C:\\Panda3D-1.3.1', 'C:\\Panda3D-1.3.1\\bin',
'C:\\Panda3D-1.3.1\\python\\lib\\site-packages']
>>>
Tja, so sieht das aus bei mir....

Aber noch immer habe ich keine echte Lösung, warum manches geht und manches nicht.
Beispiel:
Ein Pygame-Example geht, wenn ich es im Explorer doppelt anklicke.
Das selbe Beispiel geht nicht, wenn ich es aus der Console (z.B.: python fonty.py) starten will.
Das selbe Beispiel geht in drPython, aber nicht in SPE und Scintilla.

Das ist einfach ein wenig unangenehm. Ich möchte halt per Tastendruck (z.B. F5) das Beispiel aus der IDE starten. Und Pygame + Idle funktioniert bekanntlich nicht sehr gut, auch wenn ich IDLE eigentlich sehr mag!
Gruß!
BlackJack

Hast Du Python eventuell mehrfach installiert? Das da scheint mit Panda-3D zusammenzuhängen -- ist für dieses Python auch `pygame` installiert worden?
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

Hm, an sich nicht, da Panda bei der Installation die Pythoninstallation erkennt und sich dann darauf bezieht. Aber um sicher zu gehen, mach ich erst ma' wieder klare Platte.

Mit den ganzen Pfaden und Modulzusammenhängen scheine ich noch nicht durch zu blicken. :oops:
Gruß!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Es sieht so aus, als hässtest du das Panda-Python verwendet, welches natürlich kein Pygame kennt, weil du Pygame wohl in ein anderes Python installiert hast.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

Hm, so ganz funktioniert es noch nicht, wie ich mir das vorstelle, aber:

Scite funktioniert jetzt. Ich habe in der python.properties den vollen Pfad zu Python angeben müssen. Damit geht es jetzt, nachdem ich alles neuinstalliert habe.
In der CMD/Dos-Box funktioniert Python jetzt nicht, obwohl ich %PATH% gesetzt habe. Komisch. Doppelklick im Explorer auf Files funktioniert schon. 0-o
Ich versteh's echt nicht so ganz.

Aber so wie es jetzt ist, kann ich zumindest damit leben/arbeiten.

Danke für die Tipps!
Gruß!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

C4S3 hat geschrieben:In der CMD/Dos-Box funktioniert Python jetzt nicht, obwohl ich %PATH% gesetzt habe. Komisch.
Guck dir den entsprechenden Eintrag in der [wiki]FAQ#WieStarteIchSkripte[/wiki] an. Außerdem: hast du neu gestartet? Was sagt echo %PATH%?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

So, Scite/Scintilla funktioniert jetzt so weit ganz gut!

Auch die Autovervollständigung (danke an den Autor des Artikels im Wiki!) funktioniert soweit wirklich wunderbar.
Mein einziger Wermutstropfen: beim Pygame-Modul funktioniert es nicht. Das ist insofern schade, da ich gerade diese Befehle noch überhaupt nicht verinnerlicht habe. :(

Hat jemand einen Tip, wie man Pygame-Autocomplete hinbekommt?
Geht das überhaupt in irgendeiner/einm IDE/Editor?
Ich mag Scite nämlich, weil ich dann
- unter Windows und Linux den gleichen Editor verwenden kann
- Scite schlank und schnell ist.

Danke schon mal!
Gruß!
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

C4S3 hat geschrieben:Mein einziger Wermutstropfen: beim Pygame-Modul funktioniert es nicht. Das ist insofern schade, da ich gerade diese Befehle noch überhaupt nicht verinnerlicht habe. :(
Du musst in der gen_python_api.py pygame aus der excludedirlist rausnehmen, dann sollte das klappen.
C4S3 hat geschrieben:Geht das überhaupt in irgendeiner/einm IDE/Editor?
Ich mag Scite nämlich, weil ich dann
- unter Windows und Linux den gleichen Editor verwenden kann
- Scite schlank und schnell ist.
Aufgrund der dynamischen Natur von Python ist das ziemlich kompliziert 100% korrekt hinzubekommen: Es kann sein, dass Attribute erst zur Aufrufzeit entstehen.

Ansonsten: vim 7 ist unter Windows, Linux und etlichen anderen anderen Betriebssystemen verfügbar, ist schlank, schnell und massiv erweiterbar (ich sag nur SuperTab, welches süchtig macht, nutze allerdings im Moment vim 6.3). Seit Version 7 ist ein IntelliSense-like Dropdown-Menü dazugekommen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
C4S3
User
Beiträge: 292
Registriert: Donnerstag 21. September 2006, 10:07
Wohnort: Oberösterreich

Also ich habe mich jetzt kurz mit gVim beschäftigt. Ich nutze vi ja gelegentlich in der Shell unter Linux, denn: schnell ist er. Und die Grundidee mit den beiden Modi finde ich ja auch gut. Bin ja ein Tastaturfetischist.

Einziges Manko: meine Wunschliste!
Ich weiss, dass ich mit Ctrl+Space ne Liste zur Autovervollständigung aufmachen kann. Nur: wie wähle ich einen Eintrag aus? Also mit diesem Feature komme ich noch nicht klar, bzw. weiss nicht so recht, wie es (in den Standardeinstellungen) funktionieren soll.

Ein ebensolches Anliegen habe ich mit dem Ausführen der Scripte. Ich bin mir sicher, dass es möglich ist, das Pythonscript per Tastenkürzel auszuführen, ohne extra in eine Konsole zu wechseln.

Kann mir jemand helfen?
Version: cream-0-38-gvim-7-0-152.exe // W32
Gruß!
Antworten