deployment/wsgi

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

deployment/wsgi

Beitragvon keppla » Montag 18. Februar 2008, 17:15

Hallo Forum!

Ich stehe vor der Wahl, wie ich ein Projekt der Öffentlichkeit verfügbar machen möchte.
Wie ist es euch am liebsten, WSGI-applikationen angeboten zu bekommen?

Das Projekt hat Abhängikeiten zu Werkzeug und Jinja, bei Bedarf zu mysql.
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Montag 18. Februar 2008, 18:16

Ich biete PyLucid in zwei Varianten an. Einmal mit Abhängigkeiten und einmal ohne... Dann kann jeder selbst entscheiden ;)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
EnTeQuAk
User
Beiträge: 986
Registriert: Freitag 21. Juli 2006, 15:03
Wohnort: Berlin
Kontaktdaten:

Beitragvon EnTeQuAk » Montag 18. Februar 2008, 19:30

Um dich nicht selber noch mit der Pflege mitgelieferter Libraries zu beschäftigen, würde ich einfach ohne Libraries ausliefern, diese aber ausführlich erleutern und eine Installationsanleitung beilegen.


Ansonsten das Übliche:

tar.gz, zip, Egg und beim Käseladen eintragen. Nach möglichkeit, das Entwicklungs-Repository öffnen.


Mehr fällt mir grad net ein.


MfG EnTeQuAk
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Beitragvon keppla » Montag 18. Februar 2008, 21:42

Danke erstmal für die Antworten,

EnTeQuAk hat geschrieben:Um dich nicht selber noch mit der Pflege mitgelieferter Libraries zu beschäftigen, würde ich einfach ohne Libraries ausliefern, diese aber ausführlich erläutern und eine Installationsanleitung beilegen.

Irgendwie wirkt das nicht sonderlich nutzerfreundlich, finde ich. Eigentlich wollte ich aber weniger darauf raus, ob ich Abhängigkeiten mitliefere oder nicht, sondern eher, was ich mache, dass die Webspacebesitzer nachher nicht (berechtigerweise) sagen "mit php is das aber immer einfacher".

Ich hab mich mal etwas von pylucid inspirieren lassen, und hab eine passende .htaccess für fcgi und cgi angelegt. Es ist somit möglich, dass man den Kram einfach hochlädt, und "gut is".
Allerdings fällt mir da
a) keine gute Lösung für mod_python ein, und
b) find ich das rewrite etwas hässlich (dass alles sichtbar nach "index.fcgi/mein/urls" umgewandelt wird). Geht das irgendwie "hübscher"?

tar.gz, zip, Egg und beim Käseladen eintragen. Nach Möglichkeit, das Entwicklungs-Repository öffnen.

Hab ich vor
BlackJack

Beitragvon BlackJack » Montag 18. Februar 2008, 21:52

Letztlich ist das mit PHP immer einfacher. Ich würde Python da einfach nicht als Konkurrenz zu PHP sehen, sondern eher in der Profiliga ansiedeln. Ein JBoss läuft bei den Billighostern ja auch nicht so einfach. :-)
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Montag 18. Februar 2008, 23:30

keppla hat geschrieben:a) keine gute Lösung für mod_python

Es gibt keine gute Lösung für mod_python, weil mod_python an sich schon keine gute Lösung ist.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Beitragvon keppla » Dienstag 19. Februar 2008, 08:56

BlackJack hat geschrieben:Letztlich ist das mit PHP immer einfacher. Ich würde Python da einfach nicht als Konkurrenz zu PHP sehen, sondern eher in der Profiliga ansiedeln.

Nicht, dass ich falsch verstanden werde: ich HASSE php, unter anderem, weil ich es von der Arbeit her benutzen muss.
Allerdings finde ich, dass für Endnutzer (und in meinem fall sind das durchaus die "ich hab webspace"-kiddies) es bei der installation einfach haben sollten, und da ist "einfach Reinkopieren" einfacher als "erstmal rauskriegen, wie ich das installiere".

Ein JBoss läuft bei den Billighostern ja auch nicht so einfach. :-)

Und das macht es besser? Wäre PHP auf einmal Professionell, wenns schwerer zu installieren wäre?

Es gibt keine gute Lösung für mod_python, weil mod_python an sich schon keine gute Lösung ist.

Das hab ich befürchtet. Bleibt zu hoffen, dass "mod_wsgi" irgendwann mal in debian-stable landet.
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Dienstag 19. Februar 2008, 13:12

Es ist nicht unüblich, je ein (meist sehr einfaches) Script beizulegen, dass die Applikation für CGI, FastCGI, SCGI (beide via flup) und mod_wsgi (`application` muss daraus importierbar sein) nutzbar macht. Wenn du ganz viel Langeweile hast, legst du noch Beispielconfig-Abschnitte für Apache, Lighty usw. mit dazu.
Benutzeravatar
jens
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Dienstag 19. Februar 2008, 13:16

@Y0Gi: Dieses Skript funktioniert nur auf der Konsole mit root Rechten?

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Beitragvon Leonidas » Dienstag 19. Februar 2008, 13:20

mod_wsgi ist in Lenny, also wird es höchstwahrscheinlich Teil des nächsten Stable-Releases. Zu dem ist es vermutlich auch nicht mehr so weit (also vergleichen mit den Abständen zwischen Woody und Sarge). It's done when it's done und in diesem Fall muss auch ich zugeben, dass es mir zu Lenny nicht besonders eilig ist. Würde lieber Python 2.5 als Standard-Python in Lenny sehen oder gar schon Python 2.6 (wobei, das wird es mit hoher Wahrscheinlichkeit nicht zum Default-Python schaffen, wenn es überhaupt bis da released ist).
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Dienstag 19. Februar 2008, 20:18

jens hat geschrieben:@Y0Gi: Dieses Skript funktioniert nur auf der Konsole mit root Rechten?

Das für CGI nicht; die für FastCGI und SCGI nur, wenn ein Port < 1024 benutzt werden soll. Der Apache muss aber entsprechend konfiguriert sein, was ohne Rootrechte selten möglich ist. Das Script für mod_wsgi braucht ebenfalls keine Rootrechte und sofern der Apache entsprechend vorbereitet ist, kann ein User auch ohne Rootrechte mod_wsgi nutzen. birkenfeld hat dazu irgendwo im Pocoo-Repo einen racc/racd(?) rumfliegen, dere mod_wsgi für Masshosting benutzbar macht, iirc.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Re: deployment/wsgi

Beitragvon sma » Mittwoch 20. Februar 2008, 12:38

keppla hat geschrieben:Ich stehe vor der Wahl, wie ich ein Projekt der Öffentlichkeit verfügbar machen möchte.
Wie ist es euch am liebsten, WSGI-applikationen angeboten zu bekommen

Aus Anwendersicht möchte ich in der Regel etwas haben, das sofort funktioniert. Dazu ziehe ich auch gerne ein bisschen mehr. Auspacken, starten, muss laufen. Wenn nicht, dann Tonne. Dann darf gerne in einem README noch beschrieben sein, wie man die Anwendung möglicherweise anders in eine bestehende Infrastruktur integriert.

Ich würde daher vorschlagen, das Projekt in einer Version mit allen abhängigen Bibliotheken und einem Python-Webserver für WSGI auszuliefern und es so vorzukonfigurieren, dass es direkt startbar ist, wenn man Python 2.5 installiert hat. Auch eine Datenbank will ich nicht extra aufsetzen oder konfigurieren müssen.

Wenn ich erst eine manuelle Installation vornehmen musss, muss ich im Vorfeld schon sehr von der Qualität und Nützlichkeit des Projekts überzeugt sein, um mir diese Mühe zu machen. Und je stärker das Projekt auf Endanwender und nicht auf Entwickler zugeschnitten ist, desto stärker wird diese Haltung vorherrschen.

Stefan
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Beitragvon apollo13 » Mittwoch 20. Februar 2008, 15:01

@sma: Ich denke, dass das jeder gerne anders hätte: Ich zum Beispiel könnte jeden Entwickler erschlagen, der via svn-externals gleich noch django zu seiner app dazu packt. (gleiches gilt für andere dependencies, wofür gibts den setuptools?)

MfG apollo13
Benutzeravatar
keppla
User
Beiträge: 483
Registriert: Montag 31. Oktober 2005, 00:12

Re: deployment/wsgi

Beitragvon keppla » Mittwoch 20. Februar 2008, 15:55

sma hat geschrieben:Aus Anwendersicht möchte ich in der Regel etwas haben, das sofort funktioniert. Dazu ziehe ich auch gerne ein bisschen mehr. Auspacken, starten, muss laufen. Wenn nicht, dann Tonne.

Sehe ich auch so, das Problem dabei ist...

Ich würde daher vorschlagen, das Projekt in einer Version mit allen abhängigen Bibliotheken und einem Python-Webserver für WSGI auszuliefern und es so vorzukonfigurieren, dass es direkt startbar ist, wenn man Python 2.5 installiert hat.

...das ist leider nicht "sofort startbar", zumindest nicht für die webspacenutzer.

Ich bin zZ soweit, dass ich ein archiv habe, in dem sich folgendes befindet:

skarabaeus (mein projekt)
werkzeug
jinja
flup
index.cgi
index.fcgi
app.py (die datei, in der die wsgi-instanz erzeugt wird, hier kann man auch die konfiguration vornehmen)
run_standalone.py
.htaccess-fcgi
.htaccess-cgi

Die installation läuft wie folgt:
  • entpacken
  • app.py anpassen
  • für standalone-nutzer: python run_standalone
    für apache/(f)cgi-nutzer: richtige .htaccess-??? in .htaccess umbenennen
    für den wsgi-puristen: from app import app

@sma: Ich denke, dass das jeder gerne anders hätte: Ich zum Beispiel könnte jeden Entwickler erschlagen, der via svn-externals gleich noch django zu seiner app dazu packt. (gleiches gilt für andere dependencies, wofür gibts den setuptools?)

Dem würde ich entgegenwirken, indem ich wie anfangs erwähnt, das ganze einmal in "rundum glücklich" und einmal in "minimalistisch" anbiete.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Beitragvon sma » Mittwoch 20. Februar 2008, 16:38

apollo13 hat geschrieben:@sma: Ich denke, dass das jeder gerne anders hätte: Ich zum Beispiel könnte jeden Entwickler erschlagen, der via svn-externals gleich noch django zu seiner app dazu packt. (gleiches gilt für andere dependencies, wofür gibts den setuptools?)

Ich glaube, ich habe das "WSGI" ein bisschen überlesen und dachte allgemein an eine Anwendung für Endanwender, die sie sich lokal installieren wollen.

Um's bei einem Hoster zu installieren, ist direkte Lauffähigkeit natürlich nicht notwendig. Meine Sicht der Welt ist leider, dass WSGI-Anwendungen nicht so einfach zu hosten sind, es gibt da keinen etablierten Standard wie z.B. bei Java-Anwendungsservern mit .war-Dateien.

Ein SVN-Link käme aber aus meiner Sicht niemals in Frage, weil ich fertige Software nicht aus einem SVN beziehen wollen würde, sondern traditionell per Download eines Archivs.

Stefan

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder