Home
        How-Tos Wing IDE Professional
         Contents
1.   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 Wahlen 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 
2.  26    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 li
3.  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   gramms 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 gen
4.  mit dem Fenstermanager Ihrer Wahl  verwendet werden  Window Maker ist einer  den Benutzer als gut funktionierend  beschrieben haben  OroborOSX  0 75a4r2 oder h  her  funktioniert auch  kann  allerdings im Vergleich zu anderen Optionen ziemlich langsam sein  von 0 8 Vor   schau 2 an   Beachten Sie  dass Sie f  r einige Versionen von OroborOSX sowohl  die Top Level OroborOSX tar Datei als auch die XDarwin tar Datei  die innerhalb  der Installation platziert ist  entpacken m  ssen     41    42    e Sie sind jetzt bereit  Wing IDE zu installieren  Sie missen lediglich Wing IDE    herunterladen  es entpacken und an die entsprechende Stelle verschieben     Doppel Klicken auf das Wing IDE tar Archiv wird dessen Inhalte in einen neuen  Ordner auf dem Laufwerk an der gleichen Stelle wie das Archiv erweitern  Danach  kann das tar Archiv entfernt werden und die erweiterte Form der Anwendung kann  wie gewiinscht auf dem Laufwerk verschoben werden     Versichern Sie sich als n  chstes  dass Ihr X Windows Server  den Sie oben gew  hlt  haben  l  uft und eingerichtet ist  um Verbindungen von X Clients auf  0 0 zu  erlauben     Doppel Klicken Sie dann auf den Wing IDE Anwendungsordner  der beim Entpa   cken des tar Archivs erstellt wurde  Wenn Sie Wing das erste Mal starten  wird  es Sie auffordern  die Lizenzvereinbarung zu akzeptieren und sie nach einer Lizenz  fragen  Verwenden Sie die erste Option  Voreinstellung  in dem Dialog  der auf   geschlagen wird  um eine 10 t  gige Probelizenz 
5.  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 Men   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 Sie Ihre Suchzeichenkette  ein und wiederholen die Tastaturkombinationen fiir eine wiederholte Suche vor   w  rts r  ckw  rts     Suchmanager    Bietet da
6.  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 GUls 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 b
7.  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  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    56    Code hinzu  nachdem Sie Ihre QApplication erstellt haben und bevor Sie exec_loop    aufrufen       Hack to burn 
8. How Tos  Wing IDE Professional    Wingware  www wingware com    Version 2 1 0  February 21  2005    Dies ist eine Sammlung von HOW TOs  die daf  r bestimmt ist  das Starten von Wing  IDE mit speziellen Werkzeugen und fir 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 CGls mit Wing IDE debuggen  Wing IDE fiir OS X  Nutzungshinweise  Bekannte Probleme  Verwa
9. annten 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    51    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     92    Anwendungen debuggen  die  XGrab  benutzen    Wing versucht nicht  den XGrabPointer oder XGrabKey und   hnliche Ressourcen   Greifer zu unterbrechen  wenn Ihr Debug Prozess anh  lt  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 die
10. aufen 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   
11. auptschleife 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    57    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  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 i
12. ch 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 enth  lt 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     Ein Hinweis  Da Python sich selbst so gut fiir datengesteuerten Code zur Verfiigung  stellt  werden Sie es noch einmal   berdenken wollen  einen GUL Builder f 
13. den 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 erforderlich  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
14. diese stehen  mit der Funktionsweise des Wing Debuggers in Konflikt  Da der Debugger das Debug   gen schnell im Kontext von bereits ausf  hrendem Code starten kann  verwirrt er den  Analyser  so dass dieser die falschen Top Level Bereiche f  r seine Aktivit  ten verwendet     Das bedeutet  dass eine Datei wie die folgende nicht funktionieren wird   import profile    def main     a 1    profile run  main      profile_tmp      Der Analyser wird einen AttributeError auf main aufschlagen  da er nach diesem in  der Top Level Datei sucht  die nicht Ihr Code ist  wenn Sie unter Wing ausfiihren     Um dieses Problem zu l  sen  miissen Sie die Funktion  deren Auslastung Sie darstellen  m  chten  explizit importieren und ausfiihren  und zwar wie folgt     import profile    def main     a 1    profile run  import mymodule  mymodule main      profile_tmp      
15. e  Windows  verwenden  so dass Sie auf die Print  left references   ny  Anfragen reagieren k  nnen  die in dem Konsolefenster  von  dem Sie Wing IDE gestartet haben  und in dem Konsolefenster f  r den Debug Prozess  erscheinen     99    60    Debugging Code Running Under  Py2exe    Sometimes it is useful to debug Python code launched by an application produced by  py2exe    for example  so that users can debug Python scripts 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  For Wing   s  debugger this is an issue because it requires certain modules to function properly     By including these imports in the application   s Python code  Wing   s debugger will work     import socket  import select  import traceback  import struct  import cPickle  import site  import string    This forces py2exe to bundle these needed modules with the  exe  and then wingdbstub  can launch the netserver and establish a network connection to the IDE     The above was tested with py2exe run with the bundle 2 option     For further information see Debugging Externally Launched Code    61    62    Auslastungsanalyse des  Python Codes    Die Auslastungsanalyse wird von den Python Modulen profile und pstats unterstiitzt     Um eine Profildatei mit dem Namen profile tmp fiir die Anforderung einer Funktion  main   zu erstellen  w  rden Sie den folgenden Code in Ihre Anwendu
16. e 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  die Links zur Dokumentation bereitstellt     e Wing IDE Schnellstart Anleitung  die zus  tzliche grundlegende Informatio   nen dar  ber enth  lt  wie Sie Wing IDE zum L
17. e 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 install only the debugger libraries as outlined in  Compiling the Wing IDE Debugger from Source     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     29    e Configure Allowed Hosts    You will need to add the IP address of the Zope  host to t
18. e 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   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 g
19. e 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  beschleunigen     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  e
20. ebugger 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     47    48    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 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 werd
21. ehavior 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 GUls  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 distribution 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 th
22. 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 Ihrer 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  w
23. eite  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 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 Pr
24. em Men   Source  dies funktioniert re   lativ zur Position des Einf  ge Cursors im aktuellen Editor und kann   ber die im  Source Men   angezeigte Tastaturkombination  erreicht werden     Bitte senden Sie Fehlerbereichte an bugs at wingware com     Verwandte Dokumente    e Wing IDE Schnellstart  Anleitung  die zus  tzliche grundlegende Informatio   nen dar  ber enth  lt  wie Sie Wing IDE zum Laufen bringen     e Andere How Tos  um mit Wing IDE und speziellen Tools zu starten     e Wing IDE Benutzerhandbuch  das Wing IDE detailliert beschreibt     Grofe 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 Listenschwelle   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 Textansichtsbe
25. en   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 import 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    49    50    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
26. enn 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 den zur Zeit ausgew  hlten Eintrag  Sie k  nnen allerdings  auch mit der Eingabetaste vervollst  ndigen  wenn Sie die Einstellung Mit der  Eingabetaste automatis
27. enutzerhandbuch  das Wing IDE detailliert beschreibt     e mod_python Benutzerhandbuch  welches beschreibt  wie Sie mod_python installie   ren  konfigurieren und nutzen     36    Web CGIs mit Wing IDE debuggen    Wing IDE kann verwendet werden  um CGI Skripte  die in Python geschrieben sind  zu  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 al
28. er  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  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 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 B
29. he 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  ho   me 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 additional verbose output from Wing IDE and the debug process as  follows     e Gointo 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 fil
30. ht   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 bereitstellt  bietet es die  am weitesten fortgeschrittenen Debugger  und Source Browser F  higkeiten  die fiir die  Programmiersprache Python zur Verfiig
31. ie Handbuchseiten  f  r quartz wm und Xquartz nachlesen     man quartz wm  man Xquartz    44    e Obwohl Wing keine native OS X Anwendung ist  schl  gt es beim Starten ein Anzei   gethema auf  das versucht  das Look  amp  Feel von OS X nachzuahmen  Zus  tzliche  Anzeigethemen k  nnen von der Einstellung Anzeigethema ausgew  hlt werden     Es ist auch m  glich  andere Themen fiir GTK2 herunterzuladen und diese in  Contents MacOSX bin gtk bin share themes innerhalb Ihrer Wing IDE Instal   lation zu platzieren  Sobald dies geschehen ist und Wing neu gestartet wird  werden  diese Themen in der Einstellung Anzeigethema angezeigt     Ein sch  nes OS X   hnliches Thema ist AquaX  welches derzeit nicht in Wing    enthalten ist  da wir es unter seiner Lizenz nicht weiterverteilen d  rfen     Beachten Sie  dass nur Themen  die keine Themen Maschine verwenden oder die  entweder Redmond  Smooth oder Pixmap nutzen  nicht mit Wing IDE funktio   nieren  F  r die Verwendung von Themen  die nicht in Wing IDE enthalten sind   k  nnen wir keine Garantie f  r deren Leistungsf  higkeit oder Ergebnisse   berneh   men  Es ist allerdings bekannt  dass Aqua X gut funktioniert     Bekannte Probleme    Es gibt einige bekannte Probleme  die aus Plattform spezifischen Verhalten in OS X  resultieren     e Es gibt keine M  glichkeit  Strg Klick zu verwenden  deshalb funktioniert Strg   Linker Mausklick f  r die Funktion Gehe zu Definition nicht  Verwenden Sie statt   dessen Gehe zum gew  hlten Symbol aus d
32. ke this     http   localhost  50080 Rest 0f Usual Url    Explore the Debugger Tools    Take a look at these tools available from the Tools  menu     e Stack Data    displays the stack  allows selecting current stack frame   and shows the locals and globals for that frame     27    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 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 definiti
33. 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 fiir datengesteuerten Code zur Verfiigung  stellt  werden Sie es noch einmal   berdenken wollen  einen GUL 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 GUls dazu  wartungsfreundlicher zu sein  und das Qt Widget   Set wurde speziell daf  r entworfen  Hand Codierung einfach zu machen     Tipps  wi
34. le 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    tb     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 z
35. 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 ausgew  hlt  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 kann     Um diese Arten von Exceptions zu   bergehen  w  hlen Sie Diese Exception Position  ignorieren im Exceptions Werkzeug des Debuggers aus und setzen die Ausf  h
36. n 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    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 K
37. ndte Dokumente  Grofe 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  Auslastungsanalyse des Python Codes    Auslastungsanalyse und Debuggen zur gleichen Zeit    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 Wing IDE Executable  hei  t wing2 1  Zus  tzliche Informationen finden Sie unter Installation  Ausf  hrung  des IDEs und Installation Ihrer Lizen
38. nfach zu erledigen     39    40    Wing IDE f  r OS X    e Sie m  ssen Python 2 2 oder h  her installieren  um Code zu debuggen  Im Gegen   satz zu Wing IDE auf anderen Plattformen  untersttitzt Wing IDE fiir OS X nur  Python 2 2 oder h  her  Es gibt auch keine Plane  fr  here Versionen zu untersiit   zen  Wir empfehlen Ihnen  Python 2 3 oder h  her zu verwenden  Kompilieren Sie  es von der verfiigbaren Source Distribution von der Python Download Seite und  installieren es in  usr local  Dies ist die Voreinstellung      Beispielinstallation       tar xzf Python 2 3 4 tgz    cd Python 2 3 4       configure     make   make install    e Wing IDE verwendet X Windows auf OS X  aber Support fiir X ist nicht stan   dardm    ig Teil aller Versionen von OS X  Daher m  ssen Sie sich auch einen X  Server und einen X Fenstermanager beschaffen und installieren  Daf  r gibt es eine  Vielzahl von M  glichkeiten      1  Apple   s X11 Server f  r OS X geh  rt zu den schnellsten und am besten inte   grierten Optionen  Er enth  lt sowohl den X Server als auch einen nativen Aqua   Fenstermanager  obwohl Sie den Standard Fenstermanager auch mit Ihrem bevor   zugten Fenstermanager ersetzen k  nnen  wenn gew  nscht  Apple X11 Server wird  mit OS X 10 3 und h  her geliefert  aber es wird nicht standardm    ig installiert   sondern muss separat von den Installations CDs installiert werden  Es steht auch  auf Apple   s Website zum Download zur Verf  gung      2  XDarwin  1 1 oder h  her  kann zusammen
39. ng  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 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     33    34    e Kopieren Sie  vingdebugpw 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 d
40. ng einschlie  en     import profile  profile run    import mymodule  mymodule main          profile tmp        Dies wird Profildaten akkumulieren  w  hrend die Funktion main   im Modul mymodule  lauft  Beachten Sie  dass das Importieren und vollst  ndige Bestimmen des Modulbe   reiches wichtig ist  wenn Sie beabsichtigen  die Auslastungsanalyse unter dem Wing  Debugger auszufiihren  Die Auslastungsanalyse trifft Annahmen iiber den Bereich  die  vom Debugger verletzt werden  so dass nur das Bestimmen von profile run    main           profile tmp     nicht funktioniert     Danach wird das Modul pstats verwendet  um die Inhalte von der Ausgabedatei des  Profilers zu pr  fen  Der folgende Befehl w  rde zum Beispiel die Datei nach kumulativer  Zeit  die in jeder Funktion verbracht wurde  sortieren und dann die 10 rechen intensivsten  Aufrufe ausdrucken     import pstats  p   pstats Stats    profile tmp      p sort_stats    cumulative     print_stats 10     Detaillierte Dokumentation   ber die Auslastungsanalyse ist in dem Python   Bibliotheksverweis unter Die Python Auslastungsanalyse  The Python Profiler  verf  g   bar     63    64       Auslastungsanalyse und Debuggen zur gleichen Zeit       Warnung   Das Durchf  hren der Auslastungsanalyse unter dem Debugger kann ungenaue Re   sultate ergeben  da der Debugger Overhead hinzuf  gt  der nicht immer   ber Ihre  ganze Code Basis einheitlich ist              Der Python Analyser trifft einige Annahmen dar  ber  wie er gestartet wird  
41. nkt  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  Exceptions 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
42. ojekt 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 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 
43. on  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     e Open the Zope Management Interface     e Expand the Control Panel and Products tabs on the upper left     28    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     Limitations  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 th
44. onstanten in der  h  chsten Ebene der Datei m  ssen gleich bleiben     58    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     Debuggen mit Python  das mit    with pydebug kompiliert wurde    Das dbgtracer Modul  das mit Wing IDE geliefert wird  wird nicht unter einer Kopie  von Python  die mit der Option   with pydebug kompiliert wurde  laufen  weil das  InitModule Symbol absichtlich anders definiert ist  wenn Python mit dieser Option  kompiliert wird  Sehen Sie am Ende von Include modsupport h in Ihrem Python  Source Code fiir Einzelheiten     Die einzige L  sung ist  das dbgtracer Erweiterungsmodul von Wing gegen Python   Sources  die mit der Option   with pydebug konfiguriert sind  neu zu kompilieren   Die Neukompilierung des Debug Servers ist im Kapitel Debugger des Handbuches  beschrieben     Beachten Sie  dass die Ausf  hrung des IDE s mit einer Kopie von Python  die auf die   se Weise kompiliert wurde  erfordert  dass Sie es mit der   verbose Option  Posix   ausf  hren oder console_wing ex
45. peichers 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 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     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 Sitzu
46. r 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 aus  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   S
47. rdem 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 Code verarbeitet wurde     Die meiste Arbeit wird durchgef  hrt  nachdem Sie zum erstem Mal die Python Dateien    31    32    zu Ihrem Projekt hinzuf  gen  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 Laufwerks
48. reich 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     45    46    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 D
49. rung  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   Optionen auf der rechten Seite filtert  welche  Symboltypen im Browser angezeigt werden     Das Klicken auf den Browser wird den entsprechenden Source Code in dem So
50. s 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     Werte beobachten    Geben Sie zu beobachtende Werte in das Werkzeug Beobach   ten ein oder klicken Sie mit der rechten Maustaste auf eine beliebige Datenansic
51. ses 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 aktiven 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     93    54    Sie m  ssen Ihren X Server neu starten  damit die Konfigurations  nderungen wirk   sam werden  zum Beispiel  Mel
52. 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 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 H
53. t  wird erreicht  wenn Sie beim Klicken  die Option Alt Taste gedr  ckt halten  Ein Klicken mit der mittleren Maustaste  wird erreicht  wenn Sie beim Klicken die Strg Taste gedr  ckt halten  Diese Vorein   stellungen k  nnen in den Einstellungen Ihres X11 Servers ge  ndert werden  Zum  Beispiel k  nnen Sie beim Apple X11 Server   ndern  dass Option Alt Taste zwei  und Control Taste drei ist  F  hren Sie dazu folgenden Befehl aus     defaults write com apple x11 fake_button2 option  defaults write com apple x11 fake_button3 control    So   ndern Sie  dass Option Alt Taste zwei und Apple Command Taste drei ist     defaults write com apple x11 fake_button2 option  defaults write com apple x11 fake_button3 command  Dann den X11 Server neu starten     Eine bessere Steuerung der Tastaturbefehle ist unter Verwendung von xmodmap  verfiigbar     Sie k  nnen den Apple X11 Server so konfigurieren  dass er automatisch das Fens   ter aktiviert  in dem sich der Mauszeiger befindet oder dass ein Klick verwendet  wird  um ein Fenster zu aktivieren und gleichzeitig einen Befehl in der Anwendung  auszufiihren     Zur Aktivierung mit dem Mauszeiger   defaults write com apple x11 wm_ffm true   Zur Aktivierung mit Mausklick und gleichzeitige Befehlsausf  hrung   defaults write com apple x11 wm_click_through  bool true    Apple X11 muss nach   nderung einer dieser Konfigurationen neu gestartet werden   damit diese in Kraft treten     Andere   hnliche Konfigurationsoptionen erhalten Sie  wenn Sie d
54. tk  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 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  Fo
55. u 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 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 ei
56. ung 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     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 Pu
57. urce   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 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 
58. z     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 bereit  das Code Schreiben und Debuggen zu beginnen  Die meisten  Funktionen von Wing sind in der Benutzeroberfl  che selbst erkl  rend  Die Wing Tipps  liefern
59. zu erwerben  Diese kann einmalig  erneuert werden  wenn die Probedauer abgelaufen ist      Zu diesem Zeitpunkt wird Wing das Verzeichnis der Benutzereinstellungen  in    wingide2 erstellen  das verwendet wird  um Einstellungen und andere Ein   richtungen zu speichern     Auf den Ort von Wing   s internem Anwendungen Inhaltsordner wird Bezug genom   men als WINGHOME  Wenn Sie beispielsweise Wing in  Applications Wing entpa   cken  dann wird WINGHOME  Applications Wing WingIDE app Contents MacOSX  sein     Um Wing IDE von der Befehlszeile zu starten  f  hren Sie wing aus  was in WINGHO   ME platziert ist   Applications Wing WingIDE app Contents MacOSX wing im  oben genannten Beispiel   Wenn Sie dies machen  miissen Sie wahrscheinlich Ihre  DISPLAY Umgebungsvariable setzen  um auf Ihren X Server zu zeigen  zum Beispiel  setenv DISPLAY  0 0      Lesen Sie das Tutorial und die Wing IDE Schnellstart Anleitung fiir zus  tz   liche Informationen zum Einrichten und Starten von Wing IDE     Nutzungshinweise    e Wenn Sie das Zope Support Modul verwenden oder den Anweisungen fol     gen  die auf WINGHOME Bezug nehmen  beachten Sie  dass WINGHOME als der Spei   cherort der wing Executable definiert ist  die in Mac OS X innerhalb des Con   tents MacOSX Ordners des Wing IDE Anwendungsordners ist  Wenn Sie zum    43    Beispiel Wing in  Applications Wing entpackt haben  dann wird WINGHOME  Ap   plications Wing WingIDE app Contents MacOSX sein     Ein rechter Mausklick  der Meniis aufschl  g
    
Download Pdf Manuals
 
 
    
Related Search
    
Related Contents
Le Maitre LSG Manual  OM, LM2147 CM, LM2147 CMD, LM2147 CMD Autostart, LM2150  G4115 2015-09 print.indd    La Crosse Technology WT-8005U User's Manual  Foot control  FDO 1100 IDS  VIVEZ UNE NOUVELLE EXPÉRIENCE TV  Microsoft PowerPoint - PID.ppt [\214\335\212\267\203\202\201[\203h]  Français    Copyright © All rights reserved. 
   Failed to retrieve file