Empfohlene Python-Bibliothek / Framework für lokale Web-App?

Ich möchte eine einfache LOCAL Web App in Python erstellen.

Der Web-Server und der "Back-End" -Kode laufen auf demselben System (anfänglich Windows-System) wie die Benutzeroberfläche. Ich bezweifle, dass es wichtig ist, aber die Benutzeroberfläche wird eine typische Web-Combo von Google Chrome, HTML, CSS, JavaScript und jQuery sein.

Es gibt einen TON von Python-basierten Web-Programmierung Frameworks, aber sie alle scheinen für den Aufbau von anspruchsvollen, groß angelegte Anwendungen mit vielen Back-End-Infrastruktur konzipiert. Ich möchte das Gegenteil: Etwas ganz einfaches, leichtes und leicht in sich geschlossenes – gerade genug Web-Server und Framework zum Erstellen / Stützen einer lokalen Web-App.

Vorschläge?

  • Eine ausführbare Datei in Cython machen
  • Wie man eine ausführbare Datei in einer Shell verwenden kann - Python
  • Python ausführbare
  • Erstellen Sie ein einzelnes python ausführbares Modul
  • Python-Äquivalent von Unix "Strings" Dienstprogramm
  • Python-Code als ausführbare Datei für Mac / Windows / Linux verteilen
  • 10 Solutions collect form web for “Empfohlene Python-Bibliothek / Framework für lokale Web-App?”

    Flasche ist ein sehr leichtes Mikro-Gerüst. Es kommt als eine einzige .py-Datei ohne externe Abhängigkeiten, unterstützt Routing, eine kleine Vorlage-Engine und kommt mit einem integrierten Webserver. Es ist einfach zu bedienen und schlank.

    Das klingt wie eine perfekte Übereinstimmung mit Ihren Anforderungen 🙂

    Ich denke, web2py könnte hier eine Geat-Lösung sein. Es erfordert keine Installation und hat keine Abhängigkeiten (es kommt sogar mit einem eigenen Python-Interpreter sowie einem Web-Server und der SQLite-Datenbank). Sie können sogar Ihre Anwendung als Windows- oder Mac-Binär (einschließlich Web2py) verteilen , und Benutzer können sie problemlos ohne Installation ausführen.

    Ich habe eine Handvoll von solchen "lokalen Web-Server" Apps geschrieben, seit ich diese Frage gestellt habe. Ich habe keine endgültige "welche Framework ist am besten" Antwort, aber ich habe einige Einblicke:

    1. Ein einfacher oder mikro-Rahmen ist in der Tat eine gute Wahl.
    2. Ich habe versucht, CherryPy und Flask Frameworks. Flasche ist der klare Sieger für die Einfachheit, mit grundlegenden "Setup einige AJAX serving Seiten" Funktionen ganz trivial, um in Flask zu schreiben. CherryPy-Dokumentation ist oft undurchsichtig, und ihre Aufbaukomplexität ist deutlich höher.
    3. Ich bin glücklich mit Flask, aber ich schaue mich weiter um. Ich würde besonders gerne Flasche ausprobieren, die ich schon sehr hoch gesehen habe, auch in anderen StackOverflow-Diskussionen und diesem Side-by-Side-Vergleich: http://www.slideshare.net/r1chardj0n3s/web-microframework-battle web2py auch Sieht einen Versuch aus.

    Ich habe keine direkte Erfahrung, aber ich habe einige gute Dinge über web2py gehört:

    Django vs web2py für einen Anfänger Entwickler

    Pylone ist extrem einfach zu bedienen, sobald Sie einige einfache Konfiguration eingerichtet haben, müssen Sie eine gute Vorstellung davon haben, was Sie wollen aber.

    Ich habe BaseHTTPServer zu diesem Zweck verwendet. Es ist ein Webserver, der in der Python-Standardbibliothek eingebaut ist, und lässt Sie die volle Kontrolle über den Inhalt haben, den Sie liefern.

    Da es sich um die Standardbibliothek von Python handelt, muss man sich keine Sorgen um eine plattformspezifische Konfiguration machen. Ich habe das gleiche lokale Server-Skript auf einem Windows-, Linux- und Mac OS X-System ohne Änderung verwendet.

    Ein Beispiel von Code könnte sein:

     import BaseHTTPServer class Handler(BaseHTTPServer.BaseHTTPRequestHandler): def do_GET(self): self.send_response(200) self.send_header("Content-type", "text/html") self.end_headers() self.wfile.write("Hello world!") server_address = ('', 8080) httpd = BaseHTTPServer.HTTPServer(server_address, Handler) httpd.serve_forever() 

    Django kommt mit einem eingebauten Web-Server, mit dem Sie Ihre Anwendung vor Ort testen können (über localhost:8080 oder etwas der Art). In der Tat habe ich es mehr als einmal verwendet, um eine komplette Web-Anwendung lokal vor der Bereitstellung auf einem Server laufen. Ich sehe keinen Grund, dass du es nicht für deine eigenen Web-App-Zwecke verwenden kannst. Obwohl es scheint, dass Django groß und komplex ist, ist diese Lösung in sich geschlossen und einfach zu laufen:

    1. Installiere Django
    2. Gehen Sie durch das große Tutorial, das sehr bald zeigt Ihnen, wie man den Web-Server laufen
    3. Schreiben Sie Ihren Code

    Das ist alles. Die Bereitstellung auf andere Maschinen ist auch einfach zu tun, vor allem mit so etwas wie virtualenv .

    Wenn du kein großes Web-Framework willst, muss ich mich bei Gregs Rat bei BaseHTTPServer . Ich habe es vorher für spezialisierte lokale Anwendungen verwendet und es funktioniert gut, das zu tun, was von ihm erwartet wird und nicht viel mehr. Es ist eine sehr flexible Lösung, die Ihnen erlaubt, etwas ganz Brauches zu bauen, wenn Sie es brauchen.

    Ein sehr einfacher Server in der Standardbibliothek ist wsgiref.simple_server .

    Das Beispiel sieht trivial aus ( demo_app ist auch Teil des Moduls):

     from wsgiref.simple_server import make_server, demo_app httpd = make_server('', 8000, demo_app) print("Serving HTTP on port 8000...") # Respond to requests until process is killed httpd.serve_forever() 

    Chancen sind, Sie wollen eine Admin-Schnittstelle für grundlegende CRUD-Operationen auf einigen Datenbanktabellen. Dann ist Django die beste Wahl.

    Jeder Rahmen wird dies tun. Django wird sicherlich tun, aber da willst du etwas kleineres, würde ich empfehlen BFG / Pyramide, das ist sehr leicht, extrem ausziehbar und flexibel und macht Spaß zu verwenden. Aber es gibt viele andere, und wie erwähnt, ist das eingebaute wsgiref so leicht wie man bekommt. 🙂

    Python ist die beste Programmiersprache der Welt.