Home
How-Tos Wing IDE Personal
Contents
1. berlanges Aufh ngen des IDE s zu verhindern wenn das Debug Programm abst rzt Lange Strings werden standardm ig auch abgeschnitten wenn Sie vom Debug Prozess zum IDE geschickt werden Um einen abgeschnittenen String zu erweitern klicken Sie auf ihn und sehen sich seine vollst ndige Form im Textansichtsbereich am Ende des Debugger Fensters an Wenn Sie in einer verkleinerten Ansicht arbeiten klicken Sie stattdessen mit der rechten Maustaste auf den String und verwenden den Eintrag Anzeige in Textansicht von dem Popup Menii das erscheint Die maximal anzeigbare L nge von Strings wird mit der Einstellung Gro e String Schwelle kontrolliert Eine M glichkeit gro e Werte anzusehen ohne die Einstellungsschwellen zu erh hen besteht darin einen Ausdruck in die Werkzeuge Beobachten oder Debug Test einzu geben welche aus dem Men Werkzeuge verf gbar sind Sie k nnen zum Beispiel f r einen gro en Bereich einen Wert wie a 2 5 7 eingeben um zu einer kontrollierbaren Wertgr e zu kommen Trotz der pro Wert Gr enbegrenzungen ist es immer noch m glich gro e Mengen von Daten vom Debug Server zu bertragen Wir empfehlen allerdings etwas Vorsicht anzu wenden wenn Sie die Option Mehr erweitern in der Textansicht nutzen 49 50 C C und Python zusammen debuggen Der Wing IDE Debugger funktioniert zur Zeit nur fiir Python Code und kann es selbst nicht handhaben in C oder C zu schreiten Sie k nnen jedoch den
2. schirm sobald Sie den Debug Prozess von Wing l schen Nicht Python Hauptschleifen debuggen Aufgrund der Art und Weise wie der Python Interpreter das Debuggen unterstiitzt kann der Debug Prozess unansprechbar werden wenn Ihr Debug Prozess fiir lange Perioden in nicht Python Code wie C oder C l uft Immer wenn der Python Interpreter ber lange Zeitr ume nicht aufgerufen wird kann es sein dass Nachrichten von Wing IDE vollig ignoriert werden und das IDE kann die Verbindung zum Debug Prozess trennen so als ob es abgest rzt ist Dies beeinflusst in erster Linie das Anhalten eines laufenden Debug Programms oder das Setzen L schen oder Bearbeiten von Haltepunkten w hrend dem Ausf hren eines Debug Programms Beispiele f r Umgebungen die signifikante Zeitr ume au erhalb des Python Interpreters verbringen schlie en GUI Kits wie Gtk Qt Tkinter wxPython und einige Web Entwicklungswerkzeuge wie Zope ein Zur Vereinfachung f r diesen Abschnitt nennen wir sie hier nicht Python Hauptschleifen Unterst tzte Nicht Python Hauptschleifen Wing unterst tzt bereits Gtk Tkinter wxPython und Zope Wenn Sie eins von die sen verwenden nutzen Sie gar keine nicht Python Hauptschleife Sie brauchen diesen Abschnitt dann nicht weiterlesen Mit Nicht Python Hauptschleifen arbeiten Wenn Sie eine nicht unterst tzte nicht Python Hauptschleife verwenden die normaler weise Python Code f r l ngere Zeitperioden nicht aufruft k
3. Ihre Ignorierliste wird im Projekt gespeichert so dass Sie sie nie wieder sehen werden selbst in zuk nftigen Debug Sitzungen Im Nachhinein werden Sie von Wing s F higkeit sofort am Punkt der Exception anstatt nach dem Fakt anzuhalten profitieren Dies macht das Verstehen der Bedingungen die zu einem Fehler f hren viel einfacher und beschleunigt die Debug Bearbeitungszeit Testausf hrung des Source Browsers Vergessen Sie nicht einen Blick auf Wing s leistungsf higen Source Browser zu werfen 22 Fiigen Sie das Paket Lib site packages innerhalb Ihrer Python Installation zu Ihrem Projekt hinzu und zwar mit dem Punkt Paket hinzuf gen im Men Projekt F gen Sie au erdem den Verzeichnisbaum PyQt auch innerhalb Ihrer Python Installation zu Ihrer Projektdatei hinzu verwenden Sie dazu den Ein trag Verzeichnisbaum hinzuf gen aus dem Men Projekt Sie sollten jetzt vier Eintr ge in der h chsten Ebene des Projektfensters sehen Schlagen Sie als n chstes den Source Browser aus dem Men Werkzeuge auf Sie k nnen den Ansichtstil oben im Fenster ausw hlen Nach Modulen um das Laufwerklayout zu durchsuchen Klassenhierarchie um nur Basisklassen auf der h chsten Ebene zu sehen und Alle Klassen um eine Liste von allen Klassen nach Namen zu sehen Das Men Optionen auf der rechten Seite filtert welche Symboltypen im Browser angezeigt werden Das Klicken auf den Browser wird den entsprechenden Source Code in dem Source E
4. Gebrauch des IDEs Diese Funktionen sollten Sie auf jeden Fall ausprobieren w hrend Sie Wing IDE beur teilen e Anpassbare Benutzeroberfl che Viele Optionen stehen in den Einstellungen zur Verf gung Sie k nnen Werkzeugfelder teilen und die Werkzeuge in diesen umher schieben Ein rechter Mausklick auf die Notizbuchreiter liefert weitere Optionen oder Sie k nnen das Men Fenster verwenden um Werkzeuge in einem separaten Fenster anzulegen Ihre Konfiguration wird in der Projektdatei gespeichert e Auto Vervollst ndigung und Source Assistent Wing s Editor und das Source Assistent Werkzeug stellen an den Kontext angepasste Vervollst ndigungsoptio nen und Dokumentation bereit wenn Sie Ihren Code bearbeiten e Gehe zur Definition Verf gbar in der Werkzeugleiste im Source Men und durch einen rechten Mausklick auf Symbole im Editor e Source Index Schneller Zugriff auf andere Teile einer Source Datei ber die Men s die sich oben im Source Editor befinden Mini Suche Wing s leistungsf hige tastaturgesteuerte Suchen und Ersetzen Einrichtung ist tiber das Menii Bearbeiten verfiigbar Die Verwendung der Ta staturbefehle die im Men angegeben sind schl gt im unteren Bereich des Bild schirms den Eingabebereich f r die Suche auf geben Sie Ihre Suchzeichenkette ein und wiederholen die Tastaturkombinationen f r eine wiederholte Suche vor w rts r ckw rts Suchmanager Bietet das Suchen und Ersetzen
5. Sie eine Python Version installieren die mit der von Ihnen verwen deten Version von PyQt funktioniert PyQt 3 5 funktioniert zum Beispiel mit allen Python Versionen zwischen 1 5 2 und 2 2 x Die allgemeine Wing IDE Schnellstart Anleitung stellt Installationsanweisungen f r Wing bereit e Installieren Sie Qt von Trolltech Sie m ssen entweder eine Entwickler Lizenz er werben oder ein nicht kommerzielles Paket f r Windows oder Linux Unix herun 19 20 terladen Der einfachste Weg den Download Bereich zu finden ist nach download qt auf deren Website zu suchen Installieren Sie PyQt von dem Riverbank PyQt Download Bereich Starten Sie Wing IDE vom Startmen in Windows oder geben Sie in Linux OS X oder anderen Posix Systemen wing in die Befehlszeile ein Wahlen Sie aus dem Men Source den Punkt Analysestatistiken anzeigen Wenn die dort angezeigte Python Version nicht mit der iibereinstimmt die Sie mit PyQt verwenden dann gehen Sie zu den Projekteigenschaften im Projektme nii und verwenden das Feld Python Executable um die richtige Python Version auszuw hlen ffnen Sie PyQt Examples widgets py in Wing IDE innerhalb Ihrer Python Installation platziert und w hlen aus dem Projektmen den Punkt Aktuelle Datei hinzuf gen aus Setzen Sie widgets py als Debug Startpunkt f r das Debuggen indem Sie aus dem Projektmen den Punkt Aktuelle als Haupt Debug Datei einstellen ausw hlen Speichern Sie Ihr Projekt auf
6. VC oder den gdb Debugger in Verbindung mit dem Wing IDE Debugger einrichten um Fehler entweder in C oder Python zur gleichen Zeit zu debuggen Dies wird gemacht indem Ihr Python Code unter dem VC oder gdb Debugger aus gef hrt wird wie Sie es f r C C Debuggen sowieso machen w rden w hrend Sie den Wing Debugger zur gleichen Zeit verwenden indem Sie wingdbstub in Ihren Code importieren Um den C C Code zu debuggen m ssen Sie mit einer Kopie von Python ausf hren die vom Source Code mit Debug Symbolen kompiliert wurde Zur Konfiguration von wingdbstub lesen Sie bitte den Abschnitt Extern gestarteten Code debuggen im Benutzerhandbuch Werfen Sie auch einen Blick auf die zus tzlichen Informationen zu gdb und Wing zusammen verwenden Die Verwendung von Wing und VC ist weniger anf llig f r Probleme und hat daher zur Zeit kein eigenes How To 51 52 Erweiterungsmodule in Linux Unix debuggen Gdb kann als ein Tool verwendet werden dass beim Debuggen von C C Erweite rungsmodulen die fiir Python geschrieben sind hilft selbst wenn die Verwendung ein wenig kompliziert und anf llig f r Probleme sein kann Der folgende Abschnitt enth lt einige Tipps um die Anwendung zu erleichtern Dieser Abschnitt setzt allerdings voraus dass Sie mit gdb bereits vertraut sind Weitere Informationen ber gdb Befehle finden Sie in der gdb Dokumentation Der erste Schritt beim Debuggen von C C Modulen mit gdb ist sich zu versich
7. dem Laufwerk Verwenden Sie einen Namen der auf wpr endet Testausf hrung des Debuggers Sie sind jetzt bereit den Debugger auszutesten Um dies zu tun e Starten Sie das Debuggen mit dem Eintrag Debuggen Fortsetzen aus dem Me n Debuggen Entfernen Sie die Selektion des Kontrollk stchens Diesen Dialog vor jedem Durchlauf anzeigen das am Ende des Dialogs erscheint und w hlen Sie dann OK Die Demo Anwendung wird starten Wenn das Hauptfenster nicht nach vorn kommt bringen Sie es von Ihrer Taskleiste oder Ihrem Fenstermanager nach vorn ffnen Sie als n chstes PyQt Examples widgets py innerhalb Ihrer Python Installation in Wing IDE Setzen Sie einen Haltepunkt zum Ende hin der Ana logClock s paintEvent Methode W hrend der n chsten Uhrenaktualisierung die einmal pro Minute passiert wird Wing IDE an diesem Punkt anhalten Sie k nnen auch veranlassen dass der Haltepunkt eher erreicht wird indem Sie die Uhr mit einem anderen Fenster verdecken und dann wieder aufdecken 21 e Verwenden Sie das Werkzeug Stack Daten um im Stack und den Lokalen und Globalen nach dem ausgew hlten Stack Frame zu schauen e W hlen Sie Debug Test aus dem Men Werkzeuge Dies ist eine interaktive Be fehlsaufforderung die Sie Ausdr cke tippen l sst oder sogar Werte im Kontext des Stack Frames der im Debugger Fenster ausgew hlt ist ndern l sst wenn Ihr Programm an einer Exception anh lt oder stoppt Es ist ein sehr leistungs
8. editor 17 Using a GUI Builder Wing IDE doesn t currently include a GUI builder for PyGTK but it can be used with other tools such as glade To use an external GUI builder configure Wing to automatically reload files that are altered by the GUI builder Then you can run Wing IDE and your GUI builder at the same time working with both in an almost seamless manner A Caveat Because Python lends itself so well to writing data driven code you may want to reconsider using a GUI builder for some tasks In many cases Python s intro spection features make it possible to write generic GUI code that you can use to build user interfaces on the fly based on models of your data and your application This can be much more efficient than using a GUI builder to craft individual menus and dialogs by hand In general hand coded GUIs also tend to be more maintainable Details and Notes e Building GTK from sources can be a challenge Wingware has developed some build support scripts which we can provide on request to support at wingware dot com these are slated for release as open source soon We also have patches that allow GTK to be relocated after building on Linux Unix e Native look and feel on Windows is provided by the gtk wimp theme If you plan to deploy on Windows you may wish to contact us to obtain our latest performance patches for GTK on Windows Related Documents Wing IDE provides many other options and tools For more inf
9. erstellt und die Sitzung wird beendet wenn die Verarbeitung der Anfrage abgeschlossen ist Wenn eine zweite Anfrage gestellt wird w hrend eine Anfrage gedebuggt wird wird entweder blockiert bis die erste Anfrage abgeschlossen ist oder sie wird ohne den Debugger verarbeitet Dies trifft f r Anfragen zu die von einem einzelnen Python Modul verarbeitet werden und es trifft f r Anfragen zu die von mehrfachen Python Modulen in dem gleichen Apache Prozess und seinen Kindprozessen verarbeitet werden Es wird empfohlen dass nur eine Person mod_pyhton basierende Module pro Apache Instanz debuggt Schnellstart e Kopieren Sie wingdbstub py von dem Wing IDE Installationsverzeichnis entwe der in das Verzeichnis in dem das Modul ist oder in ein anderes Verzeichnis im Python Pfad das vom Modul verwendet wird e Bearbeiten Sie wingdbstub py wenn notwendig so dass die Einstellungen mit den Einrichtungen in Ihren Grundeinstellungen bereinstimmen Normalerweise muss nichts eingestellt werden es sei denn Wing s Debug Einstellungen wurden ver ndert Wenn Sie diese Einstellungen ver ndern m chten lesen Sie den Ab schnitt Remote Debuggen des Wing IDE Benutzerhandbuches f r zus tzliche Informationen 33 34 e Kopieren Sie wingdebugpw von Ihrem Verzeichnis der Benutzereinstellungen in das Verzeichnis welches das Modul dass Sie debuggen m chten beinhaltet Dieser Schritt kann bersprungen werden wenn das zu debuggende Modul auf der
10. gleichen Maschine und unter dem gleichen Nutzer wie Wing IDE ausgef hrt wird Die wingdebugpw Datei muss genau eine Zeile enthalten e F gen Sie import wingdbstub oben im Modul das vom mod_python Core impor tiert wurde ein e F gen Sie if wingdbstub debugger None wingdbstub debugger StartDebug oben in jeder Funktion die vom mod_python Core aufgerufen wird ein e Aktivieren Sie passives H ren in Wing IDE indem Sie die Einstellung Passives H ren aktivieren auf wahr setzen e Starten Sie Apache neu und laden Sie eine URL um die Ausf hrung des Moduls auszul sen Beispiel Um das Beispiel hello py aus dem Kapitel Publisher der mod_python Anleitung zu debuggen ndern Sie die hello py Datei so dass sie den folgenden Code enth lt import wingdbstub def say req what NOTHING if wingdbstub debugger None wingdbstub debugger StartDebug return I am saying s what Und richten Sie die mod_python Konfigurationsanweisungen fiir das Verzeichnis in dem hello py ist folgenderma en ein AddHandler python program py PythonHandler mod_python publisher Setzen Sie dann einen Haltepunkt an der Zeile return I am saying s what versichern Sie sich dass Wing auf eine Debug Verbindung h rt und laden Sie http Server Pfad hello py in einem Web Browser ersetzen Sie passende Wer te f r Server und Pfad Wing sollte dann an dem Haltepunkt stoppen 39 Verwandte Dokumente e Wing IDE Ben
11. nachfolgenden Daten im Browser Fenster einbezogen sind selbst wenn Ihr normaler Content Typ Spezifikationscode nicht erreicht wird 2 Platzieren Sie einen Catch All Exception Handler auf der h chsten Ebene Ihres CGI Codes und drucken die Exception Informationen im Browser Die folgende Funktion ist hilfreich um den Status der CGl Umgebung zu pr fen wenn eine Exception auftritt import sys import cgi import traceback 37 38 3 import string def DisplayError Qutput an error page with traceback etc print lt H2 gt An Internal Error Occurred lt H2 gt print lt I gt Runtime Failure Details lt I gt lt P gt t val tb sys exc_info print lt P gt Exception t lt br gt print Value val An lt p gt print lt I gt Traceback lt I gt lt P gt tbf traceback format_tb tb print lt pre gt for item in tbf outstr string replace item lt amp lt outstr string replace outstr gt amp gt print string replace outstr n n lt BR gt print lt pre gt print lt P gt cgi print_environ print lt BR gt lt BR gt Wenn Sie wingdbstub py verwenden k nnen Sie kSilent 0 setzen um zu s tzliche Informationen vom Debug Server zu erhalten um Probleme die zu Wing IDE zur ckverbinden zu debuggen Diese Informationen werden in stderr gespeichert und sind daher in der Fehlerprotokolldatei des Web Servers zu f
12. nnen Sie dieses Problem umgehen indem Sie Code zu Ihrer Anwendung hinzuf gen der daf r sorgt dass Python Code regelm ig aufgerufen wird Unter PyQt f gen Sie zum Beispiel den folgenden 59 60 Code hinzu nachdem Sie Ihre QApplication erstellt haben und bevor Sie exec_loop aufrufen Hack to burn some Python bytecode periodically so Wing s debugger can remain responsive while free running timer QTimer def donothing args for i in range 0 100 x i timer connect timer SIGNAL timeout donothing timer start 500 0 hnlicher Code kann in den meisten Umgebungen von nicht Python Hauptschleifen ge schrieben werden Die Alternative zum Andern Ihres Codes ist einen speziellen Plug in Support fiir den Wing Debugger zu schreiben der verursacht dass die Debug Server Sockets bedient werden selbst wenn Ihr Debug Programm in nicht Python Code l uft Der Rest dieses Abschnittes beschreibt was Sie wissen m ssen um dies umzusetzen Nicht Python Hauptschleifen Internals Wing verwendet eine Netzwerkverbindung zwischen dem Debug Server dem Debug Prozess und dem Debug Client Wing IDE um den Debug Prozess vom IDE zu kon trollieren und um das IDE zu informieren wenn Ereignisse wie zum Beispiel das Errei chen eines Haltepunktes oder einer Exception im Debug Prozess auftreten Solange wie das Debug Programm an einem Haltepunkt oder einer Exception angehalten oder gestoppt ist bleibt die Kontrolle beim
13. restarted they will show up in the Display Theme preference One nice OS X like theme is AquaX currently not included with Wing because we cannot redistribute it under its licensing Note that only themes that do not use a theme engine or use one of Redmond Smooth or Pixmap will work with Wing IDE We cannot make any guarantees for performance or results when using themes not included with Wing IDE although Aqua X is known to work well When using the Zope Support Module or following instructions that refer to WINGHOME note that WINGHOME is defined as the location of the wing executable which on Mac OS X is inside the Contents MacOS folder of the Wing IDE app folder E g if you unpacked Wing into Applications Wing then WINGHOME will be Applications Wing WingIDE app Contents Mac0S Right click for menus by holding down the Option Alt key while clicking Middle click by holding down the Control key while clicking These defaults can be changed in your X11 server s preferences For example under Apple X11 Server change so Option Alt is button two and Control is button three with this command 44 defaults write com apple x11 fake_button2 option defaults write com apple x11 fake_button3 control Or change so that Option Alt is button two and Apple Command is button three defaults write com apple x11 fake_button2 option defaults write com apple x11 fake_button3 command Then restart the X11 Server You can configure Apple X
14. rungsmodul geladen ist Im Zweifelsfall f gen Sie eine print Anweisung am Punkt des Imports hinzu oder Sie k nnen eine Haltepunkt an PyImport_AddModule setzen dies kann nach file python und vor der Ausf hrung gesetzt werden da dieser Aufruf nicht in einer gemeinsamen Bibliothek ist Selbst wenn Sie alle oben genannten Schritte ausf hren werden einige Versionen von gdb leider oft durcheinander kommen wenn Sie gemeinsame Bibliotheken w hrend ei ner einzelnen Debug Sitzung wiederholt laden und entladen Sie k nnen normalerweise 59 Python 5 10 Mal wiederholen aber danach wird es wahrscheinlich abstiirzen oder Sie werden Fehler beim Stoppen an Haltepunkten oder anderes merkwiirdiges Verhalten be merken Wenn dies auftritt gibt es keine andere Alternative als gdb zu beenden und neu zu starten Abschlie end ein Tipp f r die Anzeige von Python Daten von der C C Seite wenn Sie gdb verwenden Der folgende gdb Befehl wird die Inhalte von einem PyObject mit dem Namen obj ausdrucken so als wenn Sie den Befehl print obj innerhalb der Programmiersprache Python ausgefiihrt hatten gdb p PyObject_Print obj stderr 0 56 Anwendungen debuggen die XGrab benutzen Wing versucht nicht den XGrabPointer oder XGrabKey und hnliche Ressourcen Greifer zu unterbrechen wenn Ihr Debug Prozess anhalt Das bedeutet dass X in einigen Debug F llen m glicherweise auf die Tastatur die Maus oder beides nicht reagiert Den Debugger zu
15. to use with the project Wing will find your Zope installation by reading the file etc zope conf in the provided Zope instance Once you press Apply or OK in the Project Properties dialog Wing will ask to install the WingDBG product and will offer to add files from your Zope installation to the project e Configure the WingDBG Product Start or restart Zope and log into http localhost 8080 manage assuming default Zope configuration The Wing Debugging Service will be created automatically on startup you can find it under the Control Panel of your server Starting the Debugger Proceed to the Wing Debugger Service by navigating to the Control Panel then selecting the Wing Debugging Service Click in the Start button The Wing IDE status area should display Debugger Debug process running Note that you can configure WingDBG to start and connect to the IDE automatically when Zope is started from the Advanced configuration tab Problems See the Trouble Shooting Guide below Test Drive Wing IDE Once you ve started the debugger successfully here are some things to try Run to a Breakpoint Open up your Zope code in Wing IDE and set a breakpoint on a line that will be reached as the result of a browser page load Then load that page in your web browser using the port number displayed by the Zope Management Interface after you started the debugger By default this is 50080 so your URL would look something like t
16. 11 Server to automatically transfer focus to the window the mouse pointer is over or to pass through the click that is used to bring focus to the window so it is also processed by the application To move focus with the mouse pointer defaults write com apple x11 wm_ffm true To pass through the focus click defaults write com apple x11 wm_click_through bool true You must restart Apple X11 changing either of these configurations before they take effect Other configuration options like this can be obtained by looking in the manual pages for quartz wm and Xquartz man quartz wm man Xquartz Known Problems There are some known problems resulting from platform specific behaviors on OS X e There is no way to control click so control left click for the goto definition feature doesn t work Instead use Goto Selected Symbol from the Source menu instead this works relative to position of the insertion cursor in the current editor and can be accessed by the key binding shown in the Source menu Please send bug reports to bugs at wingware com 45 Related Documents e Wing IDE Quickstart Guide which contains additional information about getting started with Wing IDE e Other How Tos for getting started with Wing IDE and specific tools e Wing IDE Reference Manual which describes Wing IDE in detail 46 Using Wing IDE with pygame Wing IDE is an integrated development environment for the Python programming lan guage W
17. Debugger und er kann auf Anfragen vom IDE antworten Wenn das Debug Programm jedoch lauft wird der Debugger selbst nur aufgerufen solange Python Code vom Interpreter ausgefiihrt wird Dies ist normalerweise kein Problem weil die meisten laufenden Python Programme viel Python Code ausfiihren In einer nicht Python Hauptschleife kann das Programm jedoch komplett in C C oder einer anderen Sprache bleiben und den Python Interpreter fiir einen langen Zeitraum berhaupt nicht aufrufen Infolgedessen hat der Debugger keine M glichkeit Anfragen vom IDE zu bedienen Anhalten oder das An h ngen von Anfragen und neuen Haltepunkten k nnen in diesem Fall komplett ignoriert werden und das IDE kann vom Debug Prozess abtrennen da dieser nicht reagiert Wing handhabt dies indem es seine Netzwerk Sockets in jede der unterst tzten nicht Python Hauptschleifen installiert wenn sie als anwesend im Debug Programm erkannt 61 werden Wenn die Sockets registriert sind wird die nicht Python Hauptschleife in Python Code zur ckkehren immer wenn es unerledigte Netzwerkanfragen gibt Unterstiitzung fiir Nicht Python Hauptschleifen F r diejenigen die eine nicht unterst tzte nicht Python Hauptschleife verwenden stellt Wing ein API f r das Hinzuf gen der Hooks bereit die notwendig sind um sicherzu stellen dass die Netzwerk Sockets des Debuggers jederzeit bedient werden Wenn Sie Support f r eine nicht Python Hauptschleife schreiben m chten m
18. Debugging Externally Launched Code 65
19. How Tos Wing IDE Personal Wingware www wingware com Version 2 1 3 October 12 2006 Dies ist eine Sammlung von HOW TOs die daf r bestimmt ist das Starten von Wing IDE mit speziellen Werkzeugen und fiir fortgeschrittene Entwicklungsaufgaben zu er leichtern Inhalt Wing IDE Schnellstart Anleitung Installation von Python und Wing IDE Ein Projekt einrichten Hauptfunktionen Verwandte Dokumente Verwendung von Wing IDE mit wxPython Installation und Konfiguration Testausf hrung des Debuggers Testausf hrung des Source Browsers Verwendung eines GUI Builders Verwandte Dokumente Using Wing IDE with PyGTK Installation and Configuration Auto completion and Source Assistant Using a GUI Builder Details and Notes Related Documents Verwendung von Wing IDE mit PyQt Installation and Konfiguration Testausf hrung des Debuggers Testausf hrung des Source Browsers Verwendung eines GUI Builders Tipps wie Sie den Debug Prozess ansprechbar halten Verwandte Dokumente Using Wing IDE with Zope Quick Start on a Single Host Starting the Debugger Test Drive Wing IDE Setting Up Auto Refresh Setting up Remote Debugging Trouble Shooting Guide Related Documents Verwendung von Wing IDE mit Plone Hinweise zur Leistungsf higkeit Verwandte Dokumente Verwendung von Wing IDE mit mod_python Schnellstart Beispiel Verwandte Dokumente Web CGIs mit Wing IDE debuggen Wing IDE for OS X Usage Tips Known Problems Related Documents
20. UI Builder f r PyQt aber es kann mit anderen Tools verwendet werden wie zum Beispiel Black Adder das einen GUI Builder bereitstellt 23 aber nicht die kraftvolle Leistung von Wing IDE s Debugger und Source Browser besitzt Ein anderer GUI Builder f r PyQt ist Qt Designer der sprachenunabh ngige UI Dateien ausgibt die unter Verwendung von PyQt s pyuic Hilfsprogramm in Python umgewandelt werden k nnen Um einen externen GUI Builder zu verwenden konfigurieren Sie Wing auf das automatische Neuladen von Dateien die vom GUI Builder ver ndert werden Dann k nnen Sie Wing IDE und Ihren GUI Builder zur gleichen Zeit ausf hren und mit beiden in einer fast nahtlosen Weise arbeiten Ein Hinweis Da Python sich selbst so gut f r datengesteuerten Code zur Verf gung stellt werden Sie es noch einmal berdenken wollen einen GUI Builder f r einige Auf gaben zu verwenden In vielen F llen machen es die Selbstbeobachtungsfunktionen von Python m glich allgemeinen GUI Code zu schreiben den Sie zur schnellen Erstellung von Benutzeroberfl chen basierend auf Modellen Ihrer Daten und Ihrer Anwendung verwenden k nnen Dies kann sehr viel effizienter sein als die Verwendung eines GUI Builders zur Erstellung von individellen Men s und Dialogen per Hand Im Allgemeinen neigen per Hand codierte GUIs dazu wartungsfreundlicher zu sein und das Qt Widget Set wurde speziell daf r entworfen Hand Codierung einfach zu machen Tipps wie Sie d
21. Using Wing IDE with pygame Debugging pygame Related Documents Gro e Werte und Strings im Debugger verarbeiten C C und Python zusammen debuggen Erweiterungsmodule in Linux Unix debuggen Anwendungen debuggen die XGrab benutzen Nicht Python Hauptschleifen debuggen Unterstiitzte Nicht Python Hauptschleifen Mit Nicht Python Hauptschleifen arbeiten Nicht Python Hauptschleifen Internals Unterstiitzung fiir Nicht Python Hauptschleifen Support fiir Nicht Python Hauptschleifen schreiben Debuggen mit Python das mit with pydebug kompiliert wurde Debugging Code Running Under Py2exe Wing IDE Schnellstart Anleitung Dies ist eine kurze Anleitung f r diejenigen die Wing IDE so schnell wie m glich zum Laufen bringen m chten Eine umfassendere Einf hrung bietet unser Tutorial Au erdem verf gbar Schnellstart Anleitungen speziell f r die OS X Installation f r Zope Plone wxPython PyQt und mod_python Wir begr en Feedback und Fehlerberichte Beide k nnen direkt in Wing IDE mit den Eintr gen Feedback einreichen und Fehlerbericht einreichen im Hilfe Men eingereicht werden sie k nnen uns auch eine E Mail an support at wingware com senden Installation von Python und Wing IDE Sowohl Python als auch Wing IDE m ssen installiert sein Die Wing IDE Executa ble hei t wing personal2 1 Zus tzliche Informationen finden Sie unter Installation Ausf hrung des IDEs und Installation Ihrer Lizenz Ein Projekt einrichte
22. ang ein wenig tr ge erscheinen es gibt jede Menge Python Code den Wing analysieren muss Wenn die anf ngliche Analyse einmal erledigt ist wird Wing wieder reagieren da die Ergebnisse gespeichert sind ein hnlicher aber k rzerer Effekt ist zu beobachten wenn Wing neu gestartet wird da es den Analyse Laufwerkspeicher liest W hlen Sie den Modus Alle Klassen vom oberen Teil des Source Browsers Das ist im allgemeinen die beste Ansicht f r wxPython Auf langsameren Maschinen kann die Nach Modul Ansicht auch tr ge erscheinen was aus der gro en Anzahl von Symbolen resultiert die aufgrund der Verwendung von from wx import in wxPython Source auf der Modulebene gefunden werden Wenn Sie die Nach Modul Ansicht nutzen ist es hilfreich die Selektion des Kontrollk stchens Geerbt zu entfernen Verwenden Sie das Men das mit einem rechten Mausklick aufgeschlagen wird um zu Basisklassen zu zoomen Im Allgemeinen schl gt ein rechter Mausklick spezielle Men s zu dem Werkzeug auf das geklickt wurde auf Verwandt zum Source Browser ist die F higkeit der Auto Vervollst ndigung in Wing s Source Editor Versuchen Sie in einer der wxPython Source Dateien etwas einzugeben und Sie werden sehen dass der Auto Vervollst ndiger erscheint Die Tab Taste vervollst ndigt den zur Zeit ausgew hlten Eintrag Sie k nnen allerdings auch mit der Eingabetaste vervollst ndigen wenn Sie die Einstellung Mit der Eingabetaste automatisch vervollst nd
23. ben zu verwenden In vielen F llen machen es die Selbstbeobachtungsfunktionen von Python m glich allgemeinen GUI Code zu schreiben den Sie zur schnellen Erstellung von Benutzeroberfl chen basierend auf Modellen Ihrer Daten und Ihrer Anwendung verwenden k nnen Dies kann sehr viel effizienter sein als die Verwendung eines GUI Builders zur Erstellung von individellen Men s und Dialogen per Hand Im Allgemeinen neigen per Hand codierte GUIs dazu wartungsfreundlicher zu sein Verwandte Dokumente Wing IDE stellt viele andere Optionen und Tools bereit Weitere Informationen finden Sie hier e Wing IDE Benutzerhandbuch das Wing IDE detailliert beschreibt e wxPython Getting Started Seite welche viele zus tzliche Informationen f r wxPython Programmierer enth lt e Wing IDE Schnellstart Anleitung die zus tzliche grundlegende Informatio nen dar ber enth lt wie Sie Wing IDE zum Laufen bringen 14 Using Wing IDE with PyGTK Wing IDE is an integrated development environment for the Python programming lan guage Wing can be used to speed up the process of writing and debugging code that is written for PyGTK and GTK a mature open source GUI development toolkit PyGTK is currently available for Linux Unix MS Windows and Mac OS X requires X11 Server Like PyQt and unlike wxPython PyGTK runs on the same GTK provided widget implementations on all platforms Themes can be used to approxi mate the look and behavior of widget
24. bringen Using Wing IDE with Zope Wing IDE can be used to develop and debug Python code running under Zope2 including Products External Methods file system based Scripts and Zope itself It is also useful for Zope based frameworks like Plone see Plone Quickstart Wing provides auto completion call tips and other features that help to write naviga te and understand Zope code Wing s debugger can work with Zope s code reloading features to achieve a very short edit debug cycle Limitations Wing IDE cannot debug DTML or Python code that is not stored on the file system Security Warning We advise against using the WingDBG product on production web servers Any user connected to the Wing IDE debugger will unavoidably have extensive access to files and data on the system Note This guide is for Zope2 users If you are using Zope3 please refer to Debugging Externally Launched Code in the users manual Quick Start on a Single Host To use Wing IDE with Zope running on the same host as the IDE e Install Zope You can obtain Zope from zope org Version 2 5 1 or newer will work with Wing e Install Wing IDE You will need Wing IDE 2 1 or later See Installing for details e Configure Wing IDE Start Wing create or open the project you wish to use from the Project menu Then use the Extensions tab in Project Properties to enable Zope2 Plone support and to specify the Zope2 Instance Home 25 26
25. ch zu erledigen 39 40 Wing IDE for OS X e Wing IDE uses X windows on OS X but support for X is not by default part of all versions of OS X Thus you also need to obtain and install an X server and X Window manager There are a number of options for this 1 Apple s X11 Server for OS X is among the fastest and best integrated options It includes both the X Server and a native Aqua window manager although you can replace the default window manager with your favorite if you wish Apple X11 Server comes with OS X 10 3 and later but is not installed by default and must be installed separately from the installation CDs X11 is part of optional installs package on the installation disk often it s hidden by default so you ll need to scroll down in the finder window for the installation disk to find it For OS X 10 3 X11 is also available as downloadable package from Apple s website but this version will not work with OS X 10 4 2 XDarwin 1 1 or later can be used together with the window manager of your choice Window Maker is one that users have reported as working well OroborOSX 0 75a4r2 or later also works but can be quite slow in comparison with other options as of 0 8 preview 2 Note that for some versions of OroborOSX you need to unpack both the top level OroborOSX tar file and the XDarwin tar file located inside the installation e Now you re ready to install Wing IDE Just download Wing IDE unpack it and move it
26. chers sehen Dies kann auf einigen Maschinen auch bedeutend sein In allen F llen wird die Verarbeitung nach einem bestimmten Zeitraum aufh ren und der Rest Ihrer Wing IDE Sitzung sollte nahzu ohne CPU Verbrauch und selbst auf langsameren Maschinen mit einem gut aussehenden und ansprechbaren GUI laufen Verwandte Dokumente Wing IDE stellt viele andere Optionen und Tools bereit Weitere Informationen finden Sie hier Verwendung von Wing IDE mit Zope das beschreibt wie Zope f r die Ver wendung mit Wing IDE eingerichtet wird Wing IDE Benutzerhandbuch das Wing IDE detailliert beschreibt Plone Homepage die Links zur Dokumentation bereitstellt Wing IDE Schnellstart Anleitung die zus tzliche grundlegende Informatio nen dar ber enth lt wie Sie Wing IDE zum Laufen bringen Verwendung von Wing IDE mit mod_python Wing IDE ist eine integrierte Entwicklungsumgebung fiir die Programmiersprache Py thon Wing kann verwendet werden um Code zu debuggen der durch das mod_python Modul fiir den Apache Web Server ausgefiihrt wird Dieses Dokument setzt voraus dass mod_python installiert ist und Apache zur Nutzung konfiguriert ist Bitte lesen Sie das Kapitel Installation des mod_python Benutzerhandbuches um Informationen dar ber zu erhalten wie Sie es installieren Da der Support fiir Wing s Debugger zur Zeit Single Threaded ist kann jeweils nur eine http Anfrage gedebuggt werden F r jede Anfrage wird eine neue Debug Sitzung
27. chert so dass Sie sie nie wieder sehen selbst in zuk nftigen Debug Sitzungen Im Nachhinein werden Sie von Wing s F higkeit sofort am 11 Punkt der Exception anstatt nach dem Fakt anzuhalten profitieren Dies macht das Verstehen der Bedingungen die zu einem Fehler f hren viel einfacher und beschleunigt die Debug Bearbeitungszeit In wxPython 2 3 4 2 f r Python 2 2 k nnen Beispiele dieser Exceptions angesehen werden indem Sie More Dialogs ImageBrowser More Dialogs wxMultipleChoi ceDialog und New since last release Throbber aufschlagen e ffnen Sie als n chstes Lib site packages wx demo ImageBrowser py in Wing IDE Setzen Sie einen Haltepunkt an der ersten Zeile von runTest indem Sie auf den dunkelgrauen linken Seitenrand klicken Gehen Sie in die laufende Demo Anwendung und w hlen More Dialogs ImageBrowser aus Wing wird an Ihrem Haltepunkt stoppen e W hlen Sie Stack Daten aus dem Men Werkzeuge Schauen Sie im Stack im Popup obem im Fenster und den Lokalen und Globalen die darunter angezeigt werden nach dem gew hlten Stack Frame Es kann sein dass Sie beim Anzeigen von Werten etwas Tr gheit bemerken einige Sekunden Dies liegt an dem weit verbreiteten Gebrauch von from wx import in wxPython Code der eine gro e Anzahl von Symbolen in den globalen Namensbereich importiert Es h ngt von der Geschwindigkeit Ihrer Maschine ab e Wahlen Sie Debug Test aus dem Men Werkzeuge Das ist eine interaktive B
28. ditor Bereich anzeigen Beachten Sie dass Dateien automatisch geschlossen wer den wenn Sie woanders durchsuchen es sei denn sie waren bereits ge ffnet Bear beitungen wurden vorgenommen oder Sie klicken auf den Stick Pin in der oberen rechten Ecke des Editorbereiches um zu bestimmen dass der Editor ge ffnet blei ben soll bis er explizit geschlossen wird Verwenden Sie das Men das mit einem rechten Mausklick aufgeschlagen wird um zu Basisklassen zu zoomen Im Allgemeinen schl gt ein rechter Mausklick spezielle Men s zu dem Werkzeug auf das geklickt wurde auf Verwandt zum Source Browser ist die F higkeit der Auto Vervollst ndigung in Wing s Source Editor Versuchen Sie in einer der PyQt Source Dateien etwas einzugeben und Sie werden sehen dass der Auto Vervollst ndiger erscheint Die Tab Taste vervollst ndigt den zur Zeit ausgew hlten Eintrag Sie k nnen aller dings auch mit der Eingabetaste vervollst ndigen wenn Sie die Einstellung Mit der Eingabetaste automatisch vervollst ndigen setzen Lesen Sie die Wing IDE Schnellstart Anleitung f r Informationen zu diesen und anderen allgemein verwendeten Einstellungen Werfen Sie auch einen Blick auf das Werkzeug Source Assistent im Men Werk zeuge Es stellt zus tzliche Informationen ber Source Konstrukte im aktiven Source Editor bereit wenn der Einf gungscursor oder die auswahl verschoben wird Verwendung eines GUI Builders Wing IDE enth lt zur Zeit keinen G
29. e fehlsaufforderung die Sie Ausdr cke tippen l sst oder sogar Werte im Kontext des Stack Frames der im Debugger Fenster ausgew hlt ist ndern l sst wenn Ihr Programm an einer Exception anh lt oder stoppt Es ist ein sehr leistungsf higes Debug Werkzeug e Werfen Sie auch einen Blick auf diese Werkzeuge die im Men Werkzeuge bereit stehen 1 0 zeigt die Ausgabe des Debug Prozesses an und verarbeitet die Tasta tureingaben an den Debug Prozess wenn vorhanden Exceptions zeigt Exceptions an die im Debug Prozess auftreten Module durchsucht Daten f r alle Module in sys modules Beobachten beobachtet Werte die von anderen Wertansichten ausgw hlt wurden durch Rechtsklicken und Ausw hlen eines der Beobachten Eintr ge und erlaubt die Eingabe von Ausdr cken um sie im akutellen Stack Frame zu bewerten Testausf hrung des Source Browsers Vergessen Sie nicht einen Blick auf Wing s leistungsf higen Source Browser zu werfen 12 e Fiigen Sie das Paket Lib site packages wx innerhalb hrer Python Installation zu Ihrer Projektdatei hinzu und zwar mit dem Punkt Paket hinzuf gen im Men Projekt Nachdem Sie das ausgef hrt haben wird Wing 20 Sekunden oder l nger 100 Ihrer CPU verbrachen abh ngig von der Geschwindigkeit Ihrer Maschine W hrend dies durchgef hrt wird k nnen Sie bereits den Source Browser vom Men Werkzeuge aufschlagen Seien Sie einfach geduldig wenn Dinge am Anf
30. en Debug Prozess ansprechbar halten Aufgrund von Fehlern in einigen PyQt Versionen gibt es keinen Code innerhalb des Debuggers der sicherstellt dass PyQt Debug Prozesse ansprechbar zum Debugger blei ben w hrend das Debug Programm l uft Das bedeutet dass Sie vielleicht nicht immer in der Lage sind Py t Debug Prozesse anzuhalten und dass der Debugger abschalten kann wenn Sie versuchen Haltepunkte hinzuzuf gen oder bestimmte andere Debugger Operationen ausf hren w hrend die GUI Anwendung l uft und kein Python Code er reicht wird Diese Problem tritt nur auf wenn berhaupt kein Python Code erreicht wird Daher ist es einfach dies mit dem Folgenden zu umgehen und zwar nachdem Ihre QApplication erstellt wurde und bevor Sie exec_loop aufrufen Hack to burn some Python bytecode periodically so Wing s debugger can remain responsive while free running import os if os environ has_key WINGDB_ACTIVE timer QTimer def donothing args for i in range 0 100 x i 24 timer connect timer SIGNAL timeout donothing timer start 500 0 Verwandte Dokumente Wing IDE stellt viele andere Optionen und Tools bereit Weitere Informationen finden Sie hier e Wing IDE Benutzerhandbuch das Wing IDE detailliert beschreibt e PyQt Homepage die Links zur Dokumentation bereitstellt