Utilizzare qualcosa come CherryPy o paste.httpserver. Puoi usare il server di wsgiref, e generalmente funziona bene a livello locale, ma se stai facendo Ajax, la natura single-threaded di wsgiref può causare risultati strani, o se fai una subrequest otterrai una condizione di competizione. Ma per la maggior parte dei casi andrà bene. Si potrebbe essere utile a voi di non avere un server filettato incorporato (sia CherryPy e paste.httpserver sono filettati), nel qual caso sarebbe utile wsgiref (tutte le richieste verranno eseguiti dallo stesso filo).
Si noti che se si utilizza CherryPy o paste.httpserver tutte le richieste si verificheranno automaticamente in sottofinestre (tali pacchetti fanno il thread spawning per te) e probabilmente non sarà possibile toccare direttamente il codice GUI dal proprio codice web (dal momento che di solito il codice GUI non viene gestito dai thread). Per ognuno di essi il codice del server si blocca, quindi è necessario generare un thread per avviare il server. Twisted può essere eseguito nel normale ciclo degli eventi della GUI, ma a meno che ciò sia importante aggiunge molta complessità.
Non utilizzare BaseHTTerver o SimpleHTTPServer, sono stupidi e complicati e in tutti i casi in cui è possibile utilizzare, è consigliabile utilizzare invece wsgiref. Ogni singolo caso, dato che wsgiref ha una API saggia (WSGI) mentre questi server hanno API stupide.
fonte
2010-06-09 04:27:10
Questo script (http://bitbucket.org/julian/hatta-mirror/src/tip/hatta_gtkicon.py) è molto vicino a quello che stavo cercando. Usa anche wsgiref. – btbytes