Home
How-Tos Wing IDE Personal
Contents
1. Um Ihren eigenen Support f r nicht Python Hauptschleifen hinzuzuf gen m ssen Sie folgende Schritte ausf hren 1 Kopieren Sie eines Ihrer Source Beispiele wie _gtkhooks py die in src debug server zu finden sind als ein Framework zum Schreiben Ih rer Hooks Nennen Sie Ihr Modul etwa so _xxxxhooks py wobei xxxx der Name der Umgebung Ihrer nicht Python Hauptschleife ist 2 Implementieren Sie die Methoden _Setup RegisterSocket und Unre gisterSocket ndern Sie keinen Code aus den Beispielen au er dem Code in den Methoden Die Namen der Klassen und Konstanten in der h chsten Ebene der Datei m ssen gleich bleiben 68 3 F gen Sie den Namen Ihres Moduls ohne das py zu der Liste kSuppor tedMainloops in _extensions py hinzu Beispiele von bestehenden Support Hooks fiir nicht Python Hauptschleifen k nnen in src debug server innerhalb von WINGHOME gefunden werden Wenn Sie beim Schreiben Ihrer Hooks f r die nicht Python Hauptschleife Schwierigkeiten haben kontaktieren Sie bitte den Technischen Support unter http wingware com support Wir helfen Ihnen gern weiter und begr en jeden Beitrag von Hooks die Sie schreiben Debugging Code Running Under Py2exe Sometimes it is useful to debug Python code launched by an application produced by py2exe for example to solve a problem only seen when the code has been packaged by py2exe or so that users of the packaged application can debug Python scripts t
2. Web CGIs mit Wing IDE debuggen Wing IDE for OS X Usage Tips Changing Display Themes Finding WINGHOME Mouse Buttons Window Focus Known Problems Related Documents Using Wing IDE with pygame Debugging pygame Related Documents Using Wing IDE with scons Debugging scons 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 Debugging Code Running Under Py2exe Wing IDE Schnellstart Anleitung Dies ist eine kurze Anleitung fiir 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 Win
3. e ffnen Sie Lib site packages wx demo demo py in Wing IDE innerhalb Ihrer Python Installation platziert und w hlen Sie aus dem Projektmen den Punkt Aktuelle Datei hinzuf gen aus e Setzen Sie demo py als Debug Startpunkt f r das Debuggen indem Sie aus dem Men Debuggen den Punkt Aktuelle als Haupt Debug Datei einstellen aus w hlen e Speichern Sie Ihr Projekt auf 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 Markierung des Kontrollk stchens Diesen Dialog vor jedem Durchlauf anzeigen das am Ende des Dialogs erscheint und w hlen Sie dann OK e Die Demo Anwendung wird starten Wenn das Hauptfenster nicht nach vorn kommt bringen Sie es von Ihrer Taskleiste oder Ihrem Fenstermanager nach vorn Wenn Sie die verschiedenen Demos von dem Baum links von der wxPython Demo Anwendung ausprobieren werden Sie manchmal sehen dass Wing IDE im Ex ceptions Werkzeug des Debuggers Exceptions berichtet Diese sind keine Pro grammfehler oder St rungen des IDE s sondern werden von Wing s proaktivem Exception Erkennungsalgorithmus verursacht der nicht in den C und C Code der diese Exceptions au erhalb des Debuggers behandelt sehen kann Um diese zu bergehen w hlen Sie Diese Exception Position ignorieren im Ex
4. 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 this http localhost 50080 Rest Of Usual Url Explore the Debugger Tools Take a look at these tools available from the Tools menu 27 e Stack Data displays the stack allows selecting current stack frame and shows the locals and globals for that frame e Debug Probe lets you interact with your paused debug process using a Python shell prompt e Watch watches values selected from other value views by right clicking and selecting one of the Watch items and allows entering ex pressions to evaluate in the current stack frame e Modules browses data for all modules in sys modules e Exceptions displays exceptions that occur in the debug process e Debug I 0 displays debug process output and processes keyboard input to the debug process if any Continue the Page Load When done select Debug Continue from the Debug menu or toolbar Try Pause From Wing you can pause the Zope process by pressing the Pause icon in the toolbar or using Pause from the Debug menu This is a good way to interrupt a lengthy computation to see what s going
5. so or pyd extension module file that they describe e Wing should now provide auto completion and Source Assistant information when you import gtk and type gtk in the 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 Windo
6. Code verarbeitet wurde Die meiste Arbeit wird durchgef hrt nachdem Sie zum erstem Mal die Python Dateien 31 32 zu Ihrem Projekt hinzufiigen Danach wird ein Laufwerkspeicher verwendet um den Zugang zu Analyseinformationen zu beschleunigen Sie werden aber jedesmal wenn Sie eine neue Wing IDE Sitzung starten erneute Verarbeitung des Laufwerkspeichers sehen Dies kann auf einigen Maschinen auch bedeutend sein In allen Fallen 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 fiir 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 Using Wing IDE with Webware 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 Webware an open source web development framework To get started refer to the tutorial in the
7. 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 Editor 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 Konst
8. Sie Ihre Suchzeichenkette ein und wiederholen die Tastaturkombinationen fiir eine wiederholte Suche vor warts riickwarts Suchmanager Bietet das Suchen und Ersetzen fiir viele Dateien sowie Wildcard und regul re Ausdruckssuche ersetzen Verfiigbar als Suchen Ersetzen im Be reich der Werkzeuge Source Browser Modul oder klassenorientierte Anzeige der Struktur Ihres Source Codes Sehen Sie sich sowohl den Source Browser als auch den Source Assistenten an um umfassende Informationen ber gew hlte Symbole zu erhal ten Grundlegendes Debuggen Setzen Sie einen Haltepunkt und starten das Debug gen Sie k nnen die Werkzeuge Stack Daten und Module verwenden um Pro grammdaten zu pr fen und zu ndern Wing unterscheidet zwischen schweren und nicht schweren Exceptions zu der Zeit zu der sie angetroffen werden was Ihnen erlaubt den aktuellen Programmstatus fter zu berpr fen Bedingte Haltepunk te sind ein leistungsf higes Werkzeug f r das Isolieren komplexer Fehler da sie vor deren Auftreten stoppen I O des Debug Prozesses wird in dem integrierten I O Werkzeug oder optional in einer externen Konsole ausgegeben Debug Test Dieses Werkzeug stellt eine interaktive Python Prompt bereit die Code im aktuellen Stack Frame des angehaltenen Debug Prozesses ausf hrt Der Debug Test ist besonders hilfreich f r das Isolieren und Verstehen komplexer Fehler sowie das Entwerfen von Code f r die Behebung des Problems Wert
9. Sie die Option Mehr erweitern in der Textansicht nutzen 59 56 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 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 gefiihrt wird wie Sie es fiir C C Debuggen sowieso machen wiirden w hrend Sie den Wing Debugger zur gleichen Zeit verwenden indem Sie wingdbstub in Ihren Code importieren Um den C C Code zu debuggen miissen Sie mit einer Kopie von Python ausfiihren 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 97 58 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 Anwend
10. 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 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 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 Geschwindi
11. on When done between page loads it pauses Zope in its network service code Other Features Notice that Wing IDE s editor contains a source index and presents you with an auto completer when you re editing source code The Source Assistant will display context appropriate call tips and documentation Control click on a source symbol to jump to its point of definition or use Goto Selected Symbol in the Source menu Bring up the Source Browser from the Tools menu to look at the module and class structure of your code Setting Up Auto Refresh When you edit and save Zope External Methods or Scripts your changes will automa tically be loaded into Zope with each new browser page load By default Zope Products are not automatically reloaded but it is possible to configure them to do so This can make debugging much faster and easier Take the following steps to take advantage of this feature e Place a file called refresh txt in your Product s source directory for example Products MyProductName inside your Zope installation This file tells Zope to allow refresh for this product 28 Open the Zope Management Interface Expand the Control Panel and Products tabs on the upper left Click on your product Select the Refresh tab Check the Auto refresh mode check box and press Change Make an edit to your product source and you should see the changes you made take effect in the next browser page load Limitat
12. Help menu in Wing and or the Wing IDE Quickstart Guide Introduction Wing IDE allows you to graphically debug a Webware application as you interact with it from your web browser Breakpoints set in your code from the IDE will be reached allowing inspection of your running code s local and global variables with Wing s various debugging tools In addition in Wing IDE Pro the Debug Probe tab allows you to interactively execute methods on objects and get values of variables that are available in the context of the running web app There is more than one way to do this but in this document we focus on an in process method where the Webware server is run from within Wing as opposed to attaching to a remote process The technique described below was tested with Webware 0 9 and Python 2 4 on CentOS Linux It should work with other versions and on other OSes as well Your choice of browser should have no impact on this technique Setting up a Project Though Wing supports the notion of Projects for organizing one s work for this de bugging scenario you can use the Default Project and simply add your source code directory to it by using Add Directory Tree from the Project menu You will also need to specify a Python Path in your Project Properties with something like following your actual paths depend on your installation of Webware and OS 33 34 usr local lib Webware 0 9 WebKit usr local lib Webware 0 9 home dev mycod
13. How Tos Wing IDE Personal Wingware www wingware com Version 2 1 4 February 9 2007 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 Using Wing IDE with Webware Introduction Setting up a Project Starting Debug Related Documents Verwendung von Wing IDE mit mod_python Schnellstart Beispiel Verwandte Dokumente
14. 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 widgets on the native OS It is also possible to display native dialogs like the Windows file and print dialogs along side GTK windows While PyGTK does not offer perfect native look and feel its provides excellent write once works anywhere capability even in very complex GUIs Wing IDE is itself written using PyGTK Other advantages of PyGTK include 1 high quality anti aliased text rendering 2 powerful signal based architecture that among other things allows subclassing C classes in Python 3 multi font text widget with embeddable sub widgets 4 model view architecture for list and tree widgets and 5 a rich collection of widgets and stock icons While Wing IDE does not currently provide a GUI builder for PyGTK it does provide the most advanced debugger and source browser capabilities available for the Python programming language and it can be used with other available GUI builders as described below Installation and Configuration Take the following steps to set up and configure Wing IDE for use with PyGTK e Install Python and Wing See the generic Wing IDE Quickstart Guide for installation instructions e Install GTK and PyGTK If you are on Linux you may already have one or both 15 16 installed or you may be able to install them using your distrib
15. age will finish loading when you continue running your app by pressing the Debug icon in the toolbar Now you can make use of all of the powerful debugging functionality available in Wing instead of sprinkling your code with print statements Related Documents Wing IDE provides many other options and tools For more information e Wing IDE Reference Manual which describes Wing IDE in detail e Wing IDE Quickstart Guide which contains additional basic information about getting started with Wing IDE 36 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 Fiir jede Anfrage wird eine neue Debug Sitzung 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 tr
16. amms das Laden Ihrer Erweiterungsmodul Bibliothek ausl st k nnen Sie C C ver wenden um das Debug Programm zu unterbrechen Haltepunkte zu setzen und dann fortzufahren Andernfalls m ssen Sie die Ausf hrung Ihres Programms fortsetzen bis das Erweite 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 61 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 62 Anwendungen debuggen die XGrab benutzen Wing ver
17. at Wing runs when the Fix Option key bug in Tiger OS X 10 4 preference is enabled is WINGHOME resources osx fix tiger mode switch xmodmaprc The script removes Mode_Switch from modl and adds it to mod5 and is run only if the preference is enabled and xmodmap reports that Mode_Switch is assigned to modl If the X11 Application Use the system keyboard layout preference is enabled then the X11 server may modify its keyboard mapping when the system keyboard changes You may need to disable this preference or restart Wing after the keyboard layout changes because Wing will not re apply the fix after the X11 keyboard changes This should only be an issue if you change keyboard layouts while Wing is running Changing Display Themes Although Wing is not a native OS X application it starts up with a display theme that tries to match the OS X look and feel font size often needs to be altered from the Display Font Size preference Additional display themes can be selected from the Display Theme preference It is also possible to download other themes for GTK2 and place them into Contents Mac0S bin gtk bin share thenes inside your Wing IDE installation Once this is done and Wing is 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 Smo
18. bereitstellt bietet es die am weitesten fortgeschrittenen Debugger und Source Browser F higkeiten die fiir die Programmiersprache Python zur Verfiigung stehen und es kann mit anderen verfiigbaren GUI Buildern verwendet werden was weiter unten beschrieben wird Installation und Konfiguration F hren Sie die folgenden Schritte aus um Wing IDE fiir die Verwendung mit wxPython einzustellen und zu konfigurieren e Installieren Sie Python und Wing Sie ben tigen eine bestimmte Python Version abh ngig von der wxPython Version die Sie verwenden m chten Wenn Sie Zweifel haben lesen Sie das wxPython Getting Started Wiki Lesen Sie auch die allgemeine Wing IDE Schnellstart Anleitung fiir Installationsanweisungen e Installieren Sie wxPython Lesen Sie die wxPython Website Getting Started Wiki fiir Installationsanweisungen Beachten Sie dass Sie die Version von wxPython installieren m ssen die mit Ihrer Python Version zusammenpasst wie es auf der Download Seite beschrieben ist 10 e Starten Sie Wing IDE vom Startmenii in Windows oder geben Sie in Linux OS X oder anderen Posix Systemen wing in die Befehlszeile ein e Wahlen Sie aus dem Men Source den Punkt Analysestatistiken anzeigen Wenn die dort angezeigte Python Version nicht mit der iibereinstimmt die Sie mit wxPython verwenden dann gehen Sie zu Projekteigenschaften im Projektme nii und verwenden das Feld Python Executable um die richtige Python Version auszuw hlen
19. ceptions Werkzeug und setzen die Ausf hrung fort Sie werden 3 4 von diesen sehen wenn Wing das erstem Mal auf sie trifft Danach wird Ihre Ignorierliste im Projekt gespeichert 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
20. ditional verbose output from Wing IDE and the debug process as follows e Go into the Wing Debugging Service in the Zope Management Interface and set Log file under the Configure tab Using lt stdout gt will cause logging information to be printed to the console from which Zope was started Alternatively set this to the full path of a log file This file must already exist for logging to occur e Restart Zope and Wing and try to initiate debug e Inspect the contents of the log If you are running Zope and Wing IDE on two separate hosts you should also inspect the error 10g file on the Wing IDE host located in the User Settings Directory It contains additional logging infor mation from the Wing IDE process For additional help send these errors logs to support at wingware com 30 Related Documents Wing IDE provides many other options and tools For more information e Wing IDE Reference Manual which describes Wing IDE in detail e Zope home page which contains much additional information for Zope program mers e Quick Start Guide and Tutorial which contain additional basic information about getting started with Wing IDE Verwendung von Wing IDE mit Plone Wing IDE ist eine integrierte Entwicklungsumgebung fiir die Programmiersprache Py thon Die Verwendung von Wing kann den Prozess des Schreibens und Debuggens von Code der fiir Plone einem leistungsfahigen Web Content Management System ge schrieben ist beschleu
21. e On some systems tar will truncate file names leading to a broken installation In that case unpack the archive with gnutar instead 45 46 Next make sure your X Windows server chosen above is running and set up to allow connections from X clients on 0 0 Wing will automatically start Apple X11 Server if it is present and not yet running Then double click on the Wing IDE app folder created by unpacking the tar archive The first time you start Wing it will ask you to accept the license agreement and will ask for a license Use the first default option in the dialog that appears to obtain a 10 day trial license this can be renewed twice when the trial period expires At this time Wing will create a User Settings Directory in wingide2 which is used to store preferences and other settings The location of Wing s internal application contents folder is referred to as WINGHOME For example if you unpacked Wing into Applications Wing then WINGHOME will be Applications Wing WingIDE app Contents Mac0S To start Wing from the command line execute wing personal located in WINGHO ME Applications Wing WingIDE app Contents Mac0S wing in the above example When you do this you may need to set your DISPLAY environment variable to point to your X Server for example setenv DISPLAY 0 0 See the Tutorial and Wing IDE Quickstart Guide for additional information on getting starting with Wing IDE Usage Tips Wing start
22. e beobachten Geben Sie zu beobachtende Werte in das Werkzeug Beobach ten ein oder klicken Sie mit der rechten Maustaste auf eine beliebige Datenansicht um Werte ber einen Zeitraum nach symbolischen Namen oder Objektverweis zu verfolgen Python Shell Diese Python Befehlsaufforderungszeile l sst Sie Code in ei nem Sandbox Prozess der von Wing IDE und Ihrem Debug Prozess isoliert ist ausprobieren Verwandte Dokumente Wing IDE stellt viele andere Optionen und Werkzeuge bereit Weitere Informationen finden Sie hier e Wing IDE Tutorial eine detaillierte gef hrte Tour durch Wing IDE e Wing IDE Benutzerhandbuch das Wing IDE eingehend beschreibt e OS X Schnellstart Anleitung e Zope Schnellstart Anleitung e Plone Schnellstart Anleitung e wxPython Schnellstart Anleitung e PyQt Schnellstart Anleitung e mod_python Schnellstart Anleitung Verwendung von Wing IDE mit wxPython Wing IDE ist eine integrierte Entwicklungsumgebung fiir die Programmiersprache Py thon Wing kann dazu verwendet werden den Prozess des Schreibens und Debuggens von Code der fiir das leistungsf hige wxPython einem Toolkit fiir die Kreuzplattform GUI Entwicklung geschrieben ist zu beschleunigen wxPython ist f r den GUI Entwickler eine gute Wahl Es ist zur Zeit f r MS Windows Linux Unix und Mac OS X verfiigbar und stellt auf jeder dieser Plattformen das native Look and Feel bereit Obwohl Wing IDE zur Zeit keinen GUI Builder fiir wxPython
23. ebase The Webware MakeAppDir py script creates a default directory structure and this exam ple assumes that the source code is nested within this directory Note that on Windows the path seperator should be semicolon instead To debug your Webware app you ll actually be running the DebugAppServer and not the regular AppServer So you ll need to bring in the Debug AppServer and a couple of other files with these steps 1 Copy the DebugAppServer py ThreadedAppServer py and Launch py from the WebKit directory and put them in the root of the directory that MakeAppDir py created 2 Right click on Launch py in Wing s editor and select the menu choice Pro perties A properties window will display with an Environment and Debug tab Click the Debug tab and enter DebugAppServer py in the Run Argu ments field If you re using the default project then leave the initial directory and build command settings as they are 3 If you need to modify the version of Python you re running you can change the Python Executable on the Environment tab of this debug properties window or project wide from the Project Properties 4 Optionally after adding Launch py to the project right click on its name in the project view and select Set as Main Debug File This will cause Wing to always launch this file regardless of which file is current in the editor Starting Debug To debug press the green Debug icon in the toolbar If you did not
24. g 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 einrichten Wing startet am Anfang mit einer leeren unbenannten Projektdatei Damit Sie Wing s Funktionen vollst ndig aussch pfen k nnen m ssen Sie eine Projektdatei folgenderma Ben einrichten e Verwenden Sie Verzeichnisbaum hinzuf gen und andere Eintr ge aus dem Men Projekt um Source Dateien zu Ihrem Projekt hinzuzuf gen e Nutzen Sie Projekteigenschaften aus dem Men Projekt um den PYTHONPATH zu bestimmen und um die spezielle Python Version auszuw hlen die f r Ihr Pro jekt verwendet werden soll Diese zwei Schritte informieren Wing dariiber wie es Importe in Ihrem Code hand haben soll so dass es Ihre Source Basis ausfindig machen und analysieren kann Dies betreibt Wing s Source Browser Auto Vervollst ndiger Source Assistent und die Code Navigationsfunktionen e Speichern Sie Ihr Projekt auf der Festplatte Hinweis In Abh ngigkeit von der Gr e der Code Basis die Sie zu Ihrem Projekt hin zufiigen kann Wing fiir mehrere Minuten betrachtliche CPU Zeit verbrauchen um Ihren Source Code zu analysieren Sobald dies erledigt ist sollte Wing selbst auf langsameren Maschinen mit einer schnellen und gut ansprechenden Oberfl che laufen Siehe Debug Eigenschaften und Source Code Analyse f r Einzelheiten Hauptfunktionen Sie sind jetzt berei
25. g and or the Wing IDE Quickstart Guide Debugging pygame You should be able to debug pygame code with Wing just by starting debug from the IDE However pygame running in full screen mode will not work properly and may crash Wing Use window mode instead This problem exists with other Python IDEs as well we have not yet determined what the cause is Related Documents Wing IDE provides many other options and tools For more information e Wing IDE Reference Manual which describes Wing IDE in detail e Wing IDE Quickstart Guide which contains additional basic information about getting started with Wing IDE 51 52 Using Wing IDE with scons 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 scons an open source software construction or build control framework that uses Python To get started refer to the tutorial in the Help menu in Wing and or the Wing IDE Quickstart Guide Debugging scons As of version 0 96 1 of scons the way that scons executes build control scripts does not work properly with Wing s or probably any debugger because the scripts are executed in an environment that effectively sets the wrong file name for the script Wing will bring up the wrong file on exceptions and will fail to stop on breakpoints The solution for this is to patch scons by replacing the exec _file_ ca
26. gende Funktion ist hilfreich um den Status der CGl Umgebung zu pr fen wenn eine Exception auftritt import sys import cgi import traceback 41 42 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 finden Wenn Sie den gesamten Debugger API nutzen k nnen Sie Ihr CErrStream Objekt setzen um Ausgabe entweder an stdout stderr oder jeden anderen Dateistrom zu senden Verwenden Sie dies um Fehler an den Browser das Fehlerprotokoll des Web Servers beziehungsweise an eine Datei zu
27. gkeit 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 Anfang 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 de
28. hat they write for the app When py2exe produces the exe it strips out all but the modules it thinks will be needed by the application and may miss any required by scripts added after the fact Also py2exe runs in a slightly modified environment for example the PYTHONPATH environment is ignored Both of these can cause problems for Wing s debugger but can be worked around with some modifications to the packaged code as illustrated in the following example Add extra environment needed by Wing s debugger import sys import os extra os environ get EXTRA_PYTHONPATH if extra sys path extend extra split os pathsep print sys path Start debugging import wingdbstub Just some test code print Hello from py2exe print frozen repr getattr sys frozen None print sys path sys path print sys executable sys executable print sys prefix sys prefix print sys argv sys argv 69 70 You will need to set the following environment variables before launching the packaged application EXTRA_PYTHONPATH Python25 Lib site packages py2exe samples simple dist Python25 1lib Python25 dlls WINGDB_EXITONFAILURE 1 WINGHOME Program Files Wing IDE 2 1 To debug an installation of Python matching the one used by py2exe must be present and referenced by the EXTRA_PYTHONPATH environment variable This example assumes the installation of Python 2 5 at Python25 was used by py2exe The directory Pyth
29. he above techniques can be used to craft debugging support appro priate to your particular py2exe packaged application The above was tested with py2exe run with q and b2 options
30. ie Links zur Dokumentation bereitstellt e Wing IDE Schnellstart Anleitung die zus tzliche grundlegende Informatio nen dar ber enth lt wie Sie Wing IDE zum Laufen bringen Using Wing IDE with Zope Ihe best solution for debugging Zope and Plone Joel Burton Member Plone Team Jul 2005 Wing IDE can be used to develop and debug Python code running under Zope2 or Zope3 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 Note This guide is for Zope2 users If you are using Zope3 please try z3wingdbg by Martijn Pieters or refer to Debugging Externally Launched Code in the users manual top set up Zope3 debugging manually Limitations Wing IDE cannot debug DTML Page Templates ZCML 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 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 f
31. ife 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 ssen Sie zuerst berpr fen ob es Hoffnung gibt das Socket des Debuggers in dieser Umgebung zu registrieren Jede Hauptschleife die bereits UNIX BSD Sockets select aufruft und die f r erweiterbare Socket Registrierung entworfen ist wird funktionieren und ist einfach zu unterst tzen Gtk und Zope fallen beide in diese Kategorie In anderen F llen kann es erforderlich sein Ihren eigenen select Aufruf zu schreiben und die Hauptschleife zu berlisten dieses periodisch aufzurufen Dies ist die Art und Weise wie die Tkinter und wxPython Hooks funktionieren Einige Umgebungen k nnen zus tzlich erfordern einigen nicht Python Schnittstellen Code zu schreiben wenn die Umgebung nicht bereits daf r eingerichtet ist in Python Code zur ckzukehren Hauptschleifen Hooks sind als separate Module geschrieben die in src debug server innerhalb von WINGHOME platziert sind Das Modul _extensions py das auch dort zu finden ist beinhaltet eine allgemeine Klasse die die API Funktionen die f r jedes Modul erforderlich sind definiert und die der Ort ist an dem neue Module registiert werden m ssen in der Konstanten kSupportedMainloops Support f r Nicht Python Hauptschleifen schreiben
32. ifft fiir Anfragen zu die von einem einzelnen Python Modul verarbeitet werden und es trifft fiir 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 37 38 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 gleichen Maschine und unter dem gleichen Nutzer wie Wing IDE ausgefiihrt wird Die wingdebugpw Datei muss genau eine Zeile enthalten e Fiigen Sie import wingdbstub oben im Modul das vom mod_python Core impor tiert wurde ein e F gen Sie if wingdbstub debugger None wingdbs
33. igen 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 den 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 d
34. in Hinweis Da Python sich selbst so gut fiir datengesteuerten Code zur Verfiigung stellt werden Sie es noch einmal berdenken wollen einen GUI Builder f r einige Auf gaben zu verwenden In vielen Fallen 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
35. install only the debugger libraries as outlined in Compiling the Wing IDE Debugger from Source 29 e Basic Configuration Follow the instructions for Single Host Debugging abo ve first if you have not already done so Then return here for additional setup instructions e Configure Allowed Hosts You will need to add the IP address of the Zope host to the Allowed Hosts preference in Wing Otherwise Wing will not accept your debug connections e Configure File Mapping Next set up a mapping between the location of the Zope installation on your Zope host and the point where it is accessible on you Wing IDE host For example if your Zope host is 192 168 1 1 Zope is installed in home myuser Zope on that machine and home myuser is mounted on your Wing IDE host as e you would add a Location Map preference setting that maps 192 168 1 1 to a list containing home myuser Zope and file e Zope For more information on this see File Location Maps and Location Map Examples in the Wing IDE manual e Modify WingDBG Configuration When debugging remotely the value given to WingDBG for the Wing Home Directory must be the location where Wing is installed on the Zope host the default value will usually need to be changed e Check Project Configuration Similarly the paths identified in Project Pro perties should be those on the host where Wing IDE is running not the paths on the Zope host Trouble Shooting Guide You can obtain ad
36. ions Zope may not refresh code if you use import statements within functions or methods Also code that manages to retain references to old code objects after a refresh for example by holding the references in a C C extension module will not perform as expected If you do run into a case where auto reload causes problems you will need to restart Zope from the Zope Managemetn Interface s Control Panel or from the command line Note that pressing the Stop button in Wing only disconnects from the debug process and does not terminate Zope Setting up Remote Debugging Configuring Wing for remote debugging can be complicated so we recommend using X Windows Linux Unix or Remote Desktop Windows to run Wing IDE on the same machine as Zope but display it remotely When this is not possible you can set up Wing to debug Zope running on another machine as described below e Set up File Sharing You will need some mechanism for sharing files between the Zope host and the Wing IDE host Windows file sharing Samba NFS and ftp or rsync mirroring are all options For secure file sharing via SSH on Linux try sshfs e Install Wing on Server You will also need to install Wing on the host where Zope is running if it is not already there No license is needed for this installation unless you plan to also run the IDE there If there is no binary distribution of Wing available for the operating system where Zope is running you can instead
37. ll with one that unsets the incorrect file name so that Wing s debugger looks into the correctly set co_filename in the code objects instead The code to replace is in engine SCons Script SConscript py around line 239 in scons version 0 96 1 exec _file_ in stack 1 globals Here is the replacement code to use old_file call_stack 1 globals pop __file__ None try exec _file_ in call_stack 1 globals finally if old_file is not None call_stack 1 globals update __file__ old_file 53 54 Once this is done Wing should show the correct file on exceptions and stop on break points set within the IDE Note that if you launch scons from the command line likely the preferred method rather than from within Wing IDE you will need to use wingdbstub as described in Debugging Externally Launched Code Related Documents Wing IDE provides many other options and tools For more information e Wing IDE Reference Manual which describes Wing IDE in detail e Wing IDE Quickstart Guide which contains additional basic information about getting started with Wing IDE GroBe Werte und Strings im Debugger verarbeiten Um das Aufh ngen an gro en Werten w hrend dem Schreiten durch den Code und ande ren Debugger Aktionen zu vermeiden begrenzt der Debugger die Gr be der Konstrukte die er anzeigen wird Sie k nnen die Gr enbegrenzungen f r gro e zusammengesetzte Werte mit der Einstel lung Gro e Listen
38. n zur Zeit ausgew hlten Eintrag Sie k nnen allerdings 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 anderen allgemein verwendeten Einstellungen Hinweis In Abh ngigkeit von der Geschwindigkeit Ihrer Maschine kann der Auto Vervollst ndiger zun chst tr ge erscheinen was wiederum auf die gro e Anzahl von Symbolen die in die meisten wxPython Dateien mit from wx import importiert werden zur ckzuf hren ist Dies wird jedoch nur einmal pro Wing IDE Sitzung auftreten 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 13 Verwendung eines GUI Builders Wing IDE enthalt zur Zeit keinen GUI Builder fiir wxPython aber es kann mit an deren Werkzeugen verwendet werden wie zum Beispiel Boa Constructor das einen GULF Builder bereitstellt aber nicht die kraftvolle Leistung von Wing s Debugger und Source Browser besitzt 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 E
39. nformieren 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 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 67 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 Hauptschle
40. nigen Da Plone auf Zope basiert hnelt die Einrichtung von Wing IDE mit Plone sehr der Einrichtung von Wing IDE mit Zope welche detailliert in der Zope Schnellstart Anleitung beschrieben ist Der einzige Unterschied besteht darin dass Sie Plone an stelle von Zope herunterladen und installieren miissen Anstatt nur Zope zu starten m ssen Sie au erdem Plone starten was auf win32 mit dem Plone Startwerkzeug aus dem Startmen gemacht wird Hinweise zur Leistungsf higkeit Plone und Zope zusammen beinhalten eine sehr gro e Python Codebasis Wenn Sie aus dem Projektmen den Punkt Verzeichnisbaum hinzuf gen w hlen um die ge samte Plone Installation einzuschlie en werden Sie bedeutende CPU intensive Verar beitung sehen Dies kann auf langsameren Maschinen ein Thema sein und die Durch f hrung kann einige Minuten in Anspruch nehmen Dies geschieht w hrend Wing IDE den Python Source Code analysiert um die Datenstrukturen zu erstellen die f r den Source Browser Auto Vervollst ndiger das Source Index Menii die Gehe zu Definition und andere Funktionen des IDE s ben tigt werden Wing sollte w hrend dieser Zeit ansprechbar bleiben kann allerdings tr ge erscheinen So lange wie die anf ngliche Analyse in Bearbeitung ist wird der Source Browser eine Teilmenge aller verf gbaren Code Konstrukte enthalten und einige Funktionen wie die Gehe zu Definition werden m glicherweise solange nicht funktionieren bis der gesamte Source
41. nn Um diese Arten von Exceptions zu bergehen w hlen Sie Diese Exception Position ignorieren im Exceptions Werkzeug des Debuggers aus und setzen die Ausf hrung fort 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
42. on25 Lib site packages py2exe samples simple dist is where wingdbstub py was placed this can be altered as desired Also WINGHOME should be altered to match the location where Wing is installed and isn t needed at all if the value set in wingdbstub py is correct which it usually will be if copied out of the Wing installation When trying this out be sure to Enable Passive Listen in Wing IDE by clicking on the bug icon in the lower left of the main window For more information on using wingdbstub to debug see Debugging Externally Launched Code Enabling End Users to Debug The above example is geared at the primary developers trying to find bugs in packaged code If the packaged application is one that allows the end user to write add on scripts and they want to debug these in Wing s debugger then the import wingdbstub in the above example should be replaced with the following imports import socket import select import traceback import struct import cPickle import site import string This forces py2exe to bundle the modules needed by Wing s debugger with the exe so that the end user can place include wingdbstub in their scripts instead Of course it s also possible to conditionally include the import wingdbstub in the main code based on an environment variable or checking user settings in some other way For example 71 import os if os environ has_key USE_WING_DEBUGGER import wingdbstub A combination of t
43. oth 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 Finding WINGHOME When using the Zope Support Module or following instructions that refer to WING HOME 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 Applicati ons Wing WingIDE app Contents Mac0S 48 Mouse Buttons 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 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 Window Focus You can configure Apple X11 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
44. rderlich Dies wird Ihre X Windows Anzeige entsperren zu der Sie mit Strg Alt F7 zur ckkehren k nnen Die Anzeige Ihres Debug Prozesses auf einem anderen Bildschirm vermeidet auf diese Weise dass Wing gebunden wird Die meisten Server entsperren den Bild 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 Ha
45. rom zope org Version 2 5 1 or newer will work with Wing 25 26 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 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
46. rt iert wurde befinden Gdb verlangt zus tzlich dass LD_LIBRARY_PATH so eingestellt wird dass es das Ver zeichnis beinhaltet in dem das dynamisch geladene Modul platziert ist Ein allgemeines Problem dabei ist dass gdb jedesmal wenn es l uft cshrc neu lesen wird so dass die 59 60 Einstellung von LD_LIBRARY_PATH vor dem Aufrufen von gdb keinen Effekt hat wenn Sie auch LD_LIBRARY_PATH in cshrc setzen Um dies zu umgehen setzen Sie statt dessen LD_LIBRARY_PATH in profile Diese Datei wird nur einmal bei der Anmeldung gelesen Als n chstes sollten Sie Ihre gdbinit Datei einrichten indem Sie die Inhalte der Datei Misc gdbinit von der Python Source Distribution kopieren Dies enth lt einige n tzliche Makros um Python Code von gdb zu berpr fen Sie sollten auch das folgende hinzuf gen welches Sie den Python Stack drucken l sst define ppystack while pc lt Py_Main pc gt Py_GetArgcArgv if pc gt eval_frame amp amp pc lt PyEval_EvalCodeEx set __fn PyString_AsString co gt co_filename set __n PyString_AsString co gt co_name printf As Cid s n __fn f gt f_lineno __n end up silently 1 end select frame 0 end Starten Sie dann Python wie folgt myhost gt gdb gdb file python gdb run yourprogram py yourargs Beachten Sie dass Haltepunkte in einer gemeinsamen Bibliothek nicht gesetzt werden k nnen bis die gemeinsame Bibliothek geladen ist Wenn die Ausf hrung Ihres Pro gr
47. rukte 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 GUI 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 ne
48. rver 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 Once this is set up you re ready to install Wing IDE Just download Wing IDE unpack it and move it into place Double clicking on the Wing IDE tar archive will expand its contents into a new folder on disk in the same location as the archive Subsequently the tar archive can be removed and the expanded form of the application can be moved on disk as desired Not
49. s 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 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 Wer
50. s with a keyboard mapping that emulates the most commonly used key stan dards on the Macintosh This mapping will not work properly unless you uncheck the Enable Key Equivalents under X11 preference in Apple X11 Server configuration Wing will warn when this option is checked but may fail to do so under other X11 server software Wing also tries to detect if an Apple keyboard is in use but you may need to set the Apple Keyboard preference to yes or no if the detection fails You can alter keyboard mapping for example to use Emacs bindings instead with the Personality preference or change individual key mappings with the Custom Key Bindings preference If you do use a keyboard personality other than the OS X perso nality you may want to map the option or command key to the Alt modifier using the Global X11 Alt Key preference Note that this preference affects all X11 applications not just Wing Under OS X 10 4 Tiger the option compose key used to enter accented and other foreign characters will not work because of changes in the Apple X11 applications To fix this enable the Fix Option key bug in Tiger OS X 10 4 preference This will affect all X11 applications not just Wing 47 If you are running other X11 applications and want to workaround this bug yourself you ll want to either enable the XKEYBOARD extension on the X11 server or use xmodmap to assign the Mode_Switch key to a modifier other than mod1 The xmodmap script th
51. schwelle ndern Wenn Sie das machen m ssen Sie wahrscheinlich auch die Geduld des Debuggers f r das Warten auf diese gro en Listen zur bertragung mit der Einstellung Netzwerkabschaltung erh hen Dieser Wert ist jetzt absichtlich niedrig eingestellt um 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
52. senden Wenn Sie nicht in der Lage sind Skript Ausgabe die f r die Fehlerbehebung relevant sein kann zu sehen versuchen Sie Ihr CGI Skript von der Befehls zeile aufzurufen Das Skript kann fehlschlagen aber Sie k nnen Nachrichten vom Debug Server sehen wenn diese aktiviert sind Wenn alles andere scheitert lesen Sie die Dokumentation Ihres Web Browsers um dessen Fehlerprotokoll zu ermitteln und zu lesen In Linux mit Apache ist dies oft in var log httpd error_log Alle Fehler die nicht im Browser sichtbar sind werden dort angeh ngt Wenn der Debugger einmal f r ein CGI Skript funktioniert m ssen Sie den wingdbstub Import in jedem und jedem zweiten Top Level CGI in der glei chen Weise einrichten Da dies ein wenig langwierig sein kann und da der Import am Anfang von jeder Datei geschehen muss in dem __main__ Be reich ist es sinnvoll Ihren Code so zu entwickeln dass alles Laden von Seiten f r eine Website durch ein Single Entry Punkt CGI geschieht und sei tenspezifisches Verhalten wird mittels der Abfertigung innerhalb des CGI zu anderen Modulen erhalten Mit Python s flexiblen Import und Anforde rungsfunktionen ist dies relativ einfach zu erledigen 43 44 Wing IDE for OS X 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 Se
53. set a main debug file in the previous section you must do this when Launch py is the current file The file properties dialog will appear Optionally deselect Show this dialog before each run If you do this you can access the dialog again later by right clicking on the file in Wing s editor and selecting Properties Click OK to start the debug process The Debug I O tool will show output from the Webware process as it starts up What you will see there depends upon your Webware application and server settings but you should see some log messages scroll by If there is a path or other kind of problem as the debugging process proceeds errors will display 39 in the Debug I O tool or in a pop up error message in Wing if you have a missing library or run into another unhandled exception Once the process has started up you will be able to access web pages from your browser according to your configuration of Webware just as you would when running the server outside of Wing Now for the fun part fire up your browser and go to the home page of your application Go into the source file for any Python servlet in Wing and set a breakpoint somewhere in the code path that you know will be executed when a given page is requested Navigate to that page in your browser and you should see the Wing program icon in your OS task bar begin to flash You ll see that the web page won t finish loading this is because the debugger has control now the p
54. sucht 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 fixieren so dass er Ressourcen erkennt und losl sst ist in diesem Fall ziemlich schwierig und anf llig f r verwirrendes und unerw nschtes Verhalten Hier sind einige Hinweise wie Sie dieses Problem umgehen k nnen e Einige Toolkits haben eine Option um Ressourcen Greifer zu deaktivieren insbe sondere um dieses Problem w hrend dem Debuggen zu vermeiden PyQt hat zum Beispiel die Option nograb in der Befehlszeile die verhindert dass jemals die Tastur oder der Mauszeiger festgehalten werden Das Hinzuf gen dieser Option zur Befehlszeile des Debug Prozesses l st das Problem Wenn Sie Ihre eigenen Aufrufe an XGrab oder hnliche Funktionen schreiben be denken Sie einen Modus hinzuzuf gen damit diese Aufrufe bersprungen werden Ein Trick der oft hilft ist die Verarbeitung zu verschieben und zwar vom Call back bei dem der Mauszeiger oder Tastatur Greifer noch wirksam ist in ein asynchrones Callback dass w hrend der Leerlaufzeit auftritt Verwenden Sie zum Beispiel unter GTK gtk_idle_add und versuchen Sie in wxPython einen wxTi mer e Unter XFree 4 2 oder h her gibt es eine Konfigurationsoption die Sie einstellen k nnen so dass Strg Alt Keypad durch jeden ak
55. t das Code Schreiben und Debuggen zu beginnen Die meisten Funktionen von Wing sind in der Benutzeroberfl che selbst erkl rend Die Wing Tipps liefern n tzliche Hinweise zum 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 Menii angegeben sind schl gt im unteren Bereich des Bild schirms den Eingabebereich fiir die Suche auf geben
56. te 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 zur Verf gung stehen 1 0 zeigt die Ausgabe des Debug Prozesses an und verarbeitet Tastaturein gaben an den Debug Prozess wenn vorhanden Exceptions zeigt Exceptions an die im Debug Prozess auftreten Module durchsucht Daten fiir alle Module in sys modules Beobachten beobachtet Werte die von anderen Wertansichten ausgewahlt wurden durch Rechtsklicken und Ausw hlen eines der Beobachten Eintr ge und erlaubt das Eingeben von Ausdr cken um sie im aktuellen Stack Frame zu bewerten Wenn Sie die verschiedenen Demos f r PyQt ausprobieren werden Sie manchmal sehen dass Wing IDE anh lt und Exceptions in dem Exceptions Werkzeug des Debuggers berichtet Es gibt ein paar Fehler in einigen Versionen von PyQt s Demos so dass Wing diese erfasst wenn sie auftreten Es ist au erdem hilfreich zu wissen dass Wing IDE manchmal aber sehr selten in PyQt Anwendungen Exceptions berichtet die Sie au erhalb des Debuggers nicht sehen Diese sind keine Programmfehler sondern werden durch Wing s proaktiven Exception Erkennungsalgorithmus verursacht der nicht in den C und C Code der diese Excep tions au erhalb des Debuggers behandelt sehen ka
57. tiven Mauszeiger und Tastatur Greifer brechen wird Let user break server grabs with strg alt keypad Option AllowDeactivateGrabs true Dies geht in Ihre XF86Config Datei im Abschnitt ServerOptions Pr fen Sie man XF86Config auf den Suchpfad den X verwendet um die Konfigurationsdatei zu finden und diejenige zu finden die auf Ihrem System verwendet wird Auf Mandrake 8 2 zum Beispiel ist die Konfigurationsdatei etc X11 XF86Config 4 63 64 Sie m ssen Ihren X Server neu starten damit die Konfigurations nderungen wirk sam werden zum Beispiel Melden Sie sich ab und wieder an Seien Sie sich bewu t dass nderungen in Ihrer XF86Config Datei Fehler beim Start von X verursachen k nnnen Wenn dies passiert m ssen Sie es im Textmodus fixieren Wenn Sie in diese Situation kommen dann ist die Eingabe von startx nach jeder Bearbeitung ein guter Weg um zu berpr fen ob Ihre Fehlerbehebung funktio niert Wenn Sie berpr fen m ssen welche Version von XFree Sie installiert haben dann funktioniert normalerweise die Eingabe von rpm q XFree86 oder Sie verwenden man XFree86 was die Versionsnummer am Ende der Handbuchseite anzeigt Wenn in Linux alles andere scheitert k nnen Sie in den meisten Distributionen Strg Alt F1 bis Strg Alt F6 verwenden um sechs virtuelle nur Text Konsolen zu erhalten Von dort aus k nnen Sie ps ausf hren um den Debug Prozess zu finden und mit kill TERM oder kill 9 zu l schen wenn erfo
58. tub 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 fir 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 Benutzerhandbuch das Wing IDE detailliert beschreibt e mod_python Benutzerhandbuch welches beschreibt wie Sie mod_python installie ren konfigurieren und nutzen 40 Web CGIs mit Wing IDE debuggen Wing IDE kann verwendet werden um CGI Skripte die in Python geschrieben sind z
59. u debuggen selbst wenn sie als Ergebnis des Ladens einer Seite von einem Web Browser laufen Um Ihre CGI s fiir das Debuggen mit Wing IDE einzurichten lesen Sie den Abschnitt Extern gestarteten Code debuggen des Benutzerhandbuches Achten Sie besonders auf die Berechtigungen fiir Dateien insbesondere wenn Ihr Web Server unter einem anderen Nutzer ausfiihrt als der Prozess mit dem Wing IDE l uft Sie miissen auch sicherstellen dass die Datei wingdebugpw richtig ausgewiesen ist wie in den Anweisungen beschrieben Der Rest dieser Anleitung stellt einige spezielle Hinweise fiir das Debuggen von CGI s bereit 1 Jeglicher Inhalt von Ihrem CGI Skript der vom Web Server nicht verstanden wird wird zum Fehlerprotokoll des Servers gesendet Da es sehr l stig sein kann durch alles zu suchen ist es viel einfacher sicherzustellen dass die gesamte Ausgabe einschlie lich der Ausgabe die bei einem Fehler gemacht wurde in Ihrem Web Browser angezeigt wird Um dies zu tun f gen Sie Folgendes am Anfang Ihres Codes ein bevor Sie wingdbstub importieren oder den Debugger API aufrufen print Content type text html n n n lt html gt n Dies bewirkt dass alle 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 fol
60. ung 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 versichern dass Sie eine Python Version verwenden die mit Debug Symbolen kompiliert wurde Um dies festzustellen ben tigen Sie eine Source Distribution von Python und Sie m ssen die Distribution wie in der beiliegenden README Datei beschrieben konfigurieren In den meisten F llen kann dies folgenderma en gemacht werden 1 Geben Sie con figure ein 2 geben Sie make OPT g ein oder bearbeiten Sie das Makefile so dass OPT g 3 geben Sie make ein und 4 wenn der Build abgeschlossen ist installieren Sie ihn mit make install aber lesen Sie zuerst die README Datei wenn Sie nicht in usr local lib python installieren m chten Wenn Sie ein Erweiterungsmodul erstellen dass Sie in den Python Interpreter kom pilieren k nnen Sie jetzt Python einfach innerhalb von gdb ausf hren einen Halte punkt an der gew nschten Stelle in Ihrem Erweiterungsmodul setzen und Ihr Python Testprogramm ausf hren In den meisten F llen wird das Erweiterungsmodul jedoch nicht in Python kompiliert sondern wird stattdessen dynamisch in der Laufzeit geladen Um Ihr Erweiterungsmodul zu laden muss es sich im PYTHONPATH oder innerhalb des gleichen Verzeichnisses in dem das Modul in die Python Source impo
61. uptschleife 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 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 65 66 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 i
62. us um Wing IDE f r die Verwendung mit Py t einzustellen und zu konfigurieren e Installieren Sie Python und Wing Versichern Sie sich auf der PyQt Download Seite dass 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 Offnen 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 widget
63. ution s package manager Otherwise check out the gtk website and pygtk website e Start Wing from the Start menu on Windows or by typing wing on the command line on Linux OS X or other Posix systems e Select Show Analysis Stats from the Source menu and if the Python version re ported there doesn t match the one you re using with PyGTK then select Project Properties from the Project menu and use the Python Executable field to select the correct Python version e Add some files to your project and set the main entry point using the Set Main Debug File item in the Debug menu Save the project file to disk e You should now be able to debug your PyGTK application from within Wing If you see ImportErrors on the PyGTK modules you will need to add Python Path information in the Debug tab of Project Properties accessed from the Project menu Auto completion and Source Assistant To obtain auto completion options and call signature information in Wing s Source As sistant you will need to run a script that converts from PyGTK s defs files into Python interface files that Wing s source analyser can read e Download the pygtk_to_pi py script and the PyGTK sources for your version of PyGTK if you don t already have them e Run as described within the script to produce a pi file for each so or pyd file in the PyGTK sources e Copy these pi files into the installed copy of PyGTK so they sit next to the compiled
64. 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 49 Known Problems There are some known problems resulting from platform specific behaviors on OS X 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 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 50 Using Wing IDE with pygame 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 pygame an open source framework for game development with Python To get started refer to the tutorial in the Help menu in Win
65. ws 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 information e Wing IDE Reference Manual which describes Wing IDE in detail e Wing IDE Quickstart Guide which contains additional basic information about getting started with Wing IDE 18 Verwendung von Wing IDE mit PyQt Wing IDE ist eine integrierte Entwicklungsumgebung fiir die Programmiersprache Py thon Wing kann dazu verwendet werden den Prozess des Schreibens und Debuggens von Code der f r PyQt einem Toolkit f r die Kreuzplattform GUI Entwicklung ge schrieben ist zu beschleunigen PyQt ist eine kommerzielle GUI Entwicklungsumgebung die auf Windows Linux Unix Mac OS and dem Sharp Zauraus mit einem nativen Look and Feel l uft Es ist auch kostenlos fiir nicht kommerzielle Nutzer in Windows und fiir Open Source Entwickler in Linux Unix erh ltlich Die Lizenzierung erfolgt pro Entwickler ohne Kosten fiir jedes eingerichtete Produkt sogar fiir kommerzielle Produkte Obwohl Wing IDE zur Zeit keinen GUI Builder fiir PyQt bereitstellt bietet es die am weitesten fortgeschrittenen Debugger und Source Browser F higkeiten die f r die Pro grammiersprache Python zur Verf gung stehen und es kann mit anderen verf gbaren GUI Buildern verwendet werden was weiter unten beschrieben wird Installation and Konfiguration F hren Sie die folgenden Schritte a
Download Pdf Manuals
Related Search
Related Contents
取扱説明書等 - アイ・オー・データ機器 HT-PM50W Protector Mineral Holzadac FX-DS110-PCC/ FX-DS110-PCC2 FLEXLAN 取扱説明書 TC-600 Service Manual 02 (RoHS) MAX638 Copyright © All rights reserved.
Failed to retrieve file