2008-11-19 6 views

Antwort

16

Wie minimalistisch und zu welchem ​​Zweck?

SimpleHTTPServer ist kostenlos als Teil der Standard-Python-Bibliotheken. Wenn Sie weitere Funktionen benötigen, schauen Sie in CherryPy oder (am oberen Ende) Twisted.

+2

Danke für den CherryPy Link –

+1

Ich empfehle CherryPy; Ich benutze es seit Jahren professionell und bin sehr glücklich damit. –

+0

Schlagen Sie stark Twisted (oder Kamaelia) über die anderen. Es weiß, wie es mit UI-Hauptloops integriert werden kann, die in Desktop-Anwendungen verwendet werden. –

4

Wenn Sie viele gleichzeitige Sachen machen, könnten Sie Kamaelia 's HTTPServer betrachten.

+0

+1 Kamaelia. Perfekt für diese Art von Dingen. –

+0

Kamaelia ist großartig für gleichzeitige Sachen, aber wäre es nicht eine ziemlich große Bibliothek, die nur für einen minimalen Webserver benötigt wird? –

+0

Es gibt eine erhebliche Menge an Zeug, die man ausschneiden könnte, wenn jemand so geneigt wäre.Die Idee wurde geschwommen, um mehrere "Verteilungen" von Kamaelia zu machen, es ist einfach noch nicht passiert. (Aber ja, ich stimme zu, dass dies eine umfangreiche Bibliothek sein kann, wie sie ist). –

5

Ich werde ein großer Fan der neu veröffentlichten circuits Bibliothek. Es ist ein Komponenten-/Event-Framework, das mit einem sehr schönen Satz von Paketen zum Erstellen von Webservern & Apps geliefert wird. Hier ist das einfache Web-Beispiel von der Website:

from circuits.lib.web import Server, Controller 

class HelloWorld(Controller): 
    def index(self): 
     return "Hello World!" 

server = Server(8000) 
server += HelloWorld() 
server.run() 

Seine WSGI-Unterstützung ist nicht komplizierter als das, entweder. Gutes Zeug.

3

Wenn Sie etwas aus der Standardbibliothek verwenden, möchte ich stark nicht mit Simple empfehlen würde, aber stattdessen wsgiref.simple_server verwenden. SimpleHTTPServer ist umständlich und eine ziemlich unsinnige Art, eine Webanwendung zu implementieren, und während rohe WSGI nicht besonders einfach (aber sicher möglich) ist, haben Sie die Möglichkeit, jedes WSGI-basierte Framework darüber zu verwenden. Auch wenn Sie wsgiref verwenden, können Sie später zu einem Server wie CherryPy wechseln (beachten Sie, dass der Server in CherryPy separat vom Rest des Frameworks verwendet werden kann und Sie nur one file nur für den Server benötigen). Für eine "echte" Web-Anwendung hat CherryPy mehrere Vorteile gegenüber wsgiref, aber für eine lokal gehostete Anwendung ist es unwahrscheinlich, dass eine von ihnen eine Rolle spielt.

Wenn Sie eine Desktop-Anwendung erstellen, müssen Sie einen separaten Thread für entweder wsgiref oder CherryPy starten. Wenn das in Ordnung ist, wäre ein WSGI-basierter Server wahrscheinlich am einfachsten. Wenn Sie keinen separaten Thread für den Server starten möchten, müssen Sie höchstwahrscheinlich Twisted verwenden.

+0

Wir werden CherryPy verwenden. Danke für die ausführliche Erklärung. –

Verwandte Themen