2 Stimmen

Werkzeug in General, and in Python 3.1

Ich habe mich intensiv mit allen Möglichkeiten**(s)** beschäftigt, wie man mit Python Webanwendungen entwickeln kann. Als Referenz verwenden wir RHEL 64bit, Apache, mod_wsgi.

Geschichte:

  1. PHP und MySQL vor Jahren
  2. PHP + Python 2.x + MySQL kürzlich und aktuell
  3. Python + PostgreSQL daran arbeitend

Wir verwenden eine großartige Bibliothek für die Kommunikation zwischen PHP und Python (Schnittstelle in PHP, Backend in Python)... Bei einem größeren Projekt, das demnächst anläuft, kann die Verwendung von 100% Python jedoch sehr vorteilhaft sein.

Wir bevorzugen in der Regel kein monolithisches Framework, das uns vorschreibt, wie die Dinge zu tun sind. Wir bevorzugen eine Sammlung von nützlichen Helfern und Dienstprogrammen (sei es PHP oder Python).

Frage 1:

Beim Lesen einer Reihe von Antworten erfahrener Python-Benutzer habe ich gesehen Werkzeug mehrfach empfohlen. Ich würde mich freuen, wenn mehrere Personen mit direkter Erfahrung im Umgang mit Werkzeug zur Entwicklung professioneller Webanwendungen einen Kommentar abgeben könnten (so detailliert, wie es ihnen in den Fingern juckt), warum sie es verwenden, warum es ihnen gefällt und was es zu beachten gibt.

Frage 2:

Gibt es eine Version von Werkzeug, die Python 3.1.1 unterstützt. Ich habe erfolgreich installiert mod_wsgi auf Apache 2.2 mit Python 3.1.1.

Wenn es nicht eine Version, was würde es brauchen, um es zu aktualisieren, um auf Python 3.1 arbeiten?

Anmerkung: Ich habe die 2to3 auf dem Werkzeug-Quellcode, und es kompiliert Python ohne

Bearbeiten:

Das Projekt, das wir jetzt in Angriff nehmen, soll erst in fast einem Jahr abgeschlossen sein. Ich vermute, dass Python 3.X dann schon viel weiter verbreitet sein wird. Außerdem, wenn man bedenkt, dass wir die App betreiben (und nicht verteilen), kann sich jemand dazu äußern, ob es sinnvoll ist, einige der Python 3-Probleme jetzt zu lösen, so dass wir in einem Jahr schon mehr oder weniger fertig sind?

Ihre Meinung ist gefragt!

3voto

bobince Punkte 512550

Mod_wsgi für Python 3.x ist ebenfalls noch nicht fertig. Es gibt noch keine zufriedenstellende Definition von WSGI für Python 3.x; die WEB-SIG ist noch dabei, die Probleme zu lösen. mod_wsgi zielt auf eine Vermutung ab, was darin enthalten sein könnte, aber es ist sehr wahrscheinlich, dass es Änderungen sowohl an der Spezifikation als auch an den Standardbibliotheken geben wird. Jede Webanwendung, die Sie heute in Python 3.1 schreiben, wird in Zukunft wahrscheinlich nicht mehr funktionieren.

Es ist ein ziemliches Durcheinander. Heute kann man für Webanwendungen realistischerweise nur Python 2.x verwenden.

1voto

Lennart Regebro Punkte 157632

Ich habe Werkzeug nicht benutzt, daher kann ich nur Frage 2 beantworten:

Nein, Werkzeug funktioniert nicht mit Python 3. In der Tat, sehr wenig funktioniert auf Python 3 als von heute. Die Portierung ist nicht schwierig, aber Sie können nicht portieren, bis alle Ihre Bibliotheken von Drittanbietern portiert wurden, so dass der Fortschritt langsam ist.

Ein großes Hindernis war setuptools, das ein sehr beliebtes Paket ist, das verwendet wird. Setuptools wird nicht mehr gepflegt, aber es gibt eine gepflegte Abspaltung namens Distribute. Distribute wurde erst vor ein oder zwei Wochen mit Unterstützung für Python 3 veröffentlicht. Ich hoffe, dass die Paketunterstützung für Python 3 jetzt wieder zunimmt. Aber es wird noch lange dauern, mindestens Monate, wahrscheinlich ein Jahr oder so, bevor ein großes Projekt wie Werkzeug auf Python 3 portiert wird.

1voto

Jokey Punkte 90

Ich kann nur die erste Frage beantworten:

Ich habe angefangen, es für einige kleine Webprojekte zu verwenden, bin aber jetzt dazu übergegangen, größere Anwendungen damit zu überarbeiten. Warum Werkzeug? Das modulare Konzept ist wirklich hilfreich. Man kann nach Belieben Module einbinden, Dinge einfach kontextabhängig machen und man bekommt kostenlos eine gute Dateiverarbeitung für Anfragen, die in der Lage ist, mit 300mb+ Dateien umzugehen, indem sie nicht im Speicher gespeichert werden.

Die Nachteile... Nun, manchmal Modularität braucht einige im Voraus denken (django z.B. gibt Ihnen alles auf einmal, Strippen Zeug heraus ist schwer zu tun, dort aber), aber für mich funktioniert es gut.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X