[python] Py - IIS - ASP

Milan Rohr m.rohr na centrum.cz
Středa Prosinec 17 14:20:12 CET 2003


Máte někdo zkušenosti s kombinací Python & IIS & ASP?
Používal jsem dříve Python jako scriptovací jazyk při správě rozsáhlejší winNT sítě a tu a tam nějaké CGI.  Nyní jsem dostal za úkol naprogramovat www aplikaci - znalostní bázi pro několik zaměstnanců. Zvolil jsem Python a IIS/ASP. Narazil jsem na mnoho problémů a málo praktické nápovědy.
Používám ActivePython 2.3.2, Windows 2000 Server.

- poprvé jsem narazil, když jsem v global.asa použil Python. Na to jsem našel několik hacků (2?), takže to nakonec funguje, ale je to pěkná vocasárna.

- všechny příkazy print jsem musel přepsat na Response.Write() funkce. Potíže při debugování mimo IIS, přenositelnost kódu se tím ukončila.

- některé chyby v kódu způsobí, že IIS vrací pouze chybu "500 Server Error", bez dalších podrobností. Pak se kód opravdu špatně debuguje. Mimo IIS se kód debugovat dá vcelku špatně, protože používám objekty Session, Application, Request, Response - ty jsou dostupné je při run-timu ASP. Takže pak v kódu hledám místo, kde _předpokládám_ chybu, sekci uzavřu do try-except konstrukce. No a když se strefím, tak se podrobnosti chyby konečně dozvím.

- kód na začátku obsahuje:
<%@LANGUAGE=Python
což zamotává hlavu editorům - ani jednoduchý program pak neprojde syntax checkem. Je pro Windows nějaký python editor, který by si s tím poradil?

- ani po sérii záplat a aktualizací (Python, WSH, MDAC) aplikace stejně nefunguje spolehlivě. Podívám se na stránku, je OK, reload - ValueError: (22, 'Invalid argument'), reload - OK, reload - OK, reload - (A trappable error (C0000005) occurred in an external object. The script cannot continue running.), reload - OK...

- ActivePython od ActiveState - připadá mi, že v každém buildu se změní chování editoru (PyWin, v Idle je to lepší) při vkládání českých znaků. V AP2-2.2.2-224 fungovala diakritika bez problémů, v AP-2.3.2-232 se při vkládání českých znaků do řetězce řetězec na konci umazává - někdy se pak takový řetězec vytiskne kompletní, někdy jen po poslední znak s diakritikou...

Dokud jsem aplikaci připravoval v Python & Apache, šel vývoj jak po drátkách, ale jak jsem ji začal přenášet na IIS... tak od té doby měsíc přepisuji kód, záplatuji a zoufám.


--------------------
Centrum.cz Reality: více než 50 000 aktuálních nabídek nemovitostí z celé ČR! http://user.centrum.cz/redir.php?url=http://reality.centrum.cz 






Další informace o konferenci Python