Seite 1 von 1

mod_python auf Version 2.5 umstellen

Verfasst: Donnerstag 6. Dezember 2007, 19:54
von BasterTWO
Hallo Python Freunde,
ich würde gerne mod_python verwendn aber ich benötige die Version 2.5. Kann man mod_python irgendwo so konfigurieren damit er einen bestimmten Interpreten verwendet ??

Viele Grüße
BasterTWO

Re: mod_python auf Version 2.5 umstellen

Verfasst: Donnerstag 6. Dezember 2007, 21:43
von gerold
BasterTWO hat geschrieben:Kann man mod_python irgendwo so konfigurieren damit er einen bestimmten Interpreten verwendet ??
Hallo BasterTWO!

Es gibt die Direktive "PythonInterpreter" http://www.modpython.org/live/current/d ... er-pi.html. Aber ich weiß nicht, wie sich diese auswirkt und wie man die genau einstellen muss und ob das überhaupt dafür da ist um auf eine andere Python-Version umzustellen.

Vielleicht ist es einfacher das Programm so umzuschreiben, dass es auch mit Python 2.4 funktioniert.

mfg
Gerold
:-)

Also

Verfasst: Donnerstag 6. Dezember 2007, 21:57
von BasterTWO
Also ich wollte versuch so CherryPy in Apache zu integrieren, da es mir nicht gelugen mit deiner Version das verfügbar zu machen.

Viele Grüße
BasterTWO

Re: auf nach mod_fcgi

Verfasst: Donnerstag 6. Dezember 2007, 22:06
von gerold
Hallo BasterTWO!

Lass mal ein paar Infos rüber wachsen.

Fangen wir mal damit an:
- Betriebssystem-Version
- Apache-Version

mfg
Gerold
:-)

Info

Verfasst: Donnerstag 6. Dezember 2007, 22:08
von BasterTWO
Hier sind meine Infos:

Apache => 2.2.3
Betriebsystem => Debian Etch 4.0
Python => 2.5

Apache Mod Python => libapache2-mod-python (3.2.10-4)

Viele Grüße
BasterTWO

Re: Info

Verfasst: Donnerstag 6. Dezember 2007, 22:12
von gerold
BasterTWO hat geschrieben:Apache => 2.2.3
Betriebsystem => Debian Etch 4.0
Python => 2.5
Ist bei Debian Etch Python 2.5 standardmäßig installiert oder musstest du es nachinstallieren?

Was gibt ``aptitude search libapache2-mod-python`` aus?

Nein

Verfasst: Donnerstag 6. Dezember 2007, 22:15
von BasterTWO
Nein ich habe Python 2.5 nach installiert.

Ausgabe von apitude:
i libapache2-mod-python - Apache 2 module that embeds Python within the server
p libapache2-mod-python-doc - Apache 2 module that embeds Python within the server
v libapache2-mod-python2.4 -

BasterTWO

Verfasst: Donnerstag 6. Dezember 2007, 22:19
von gerold
Ich schreibe morgen im Laufe des Tages eine kurze Beschreibung, wie man eine CherryPy-Website hinter dem Apachen mit mod_fastcgi unter Debian zum Laufen bekommt. So lange musst du noch warten.

mfg
Gerold
:-)

Also

Verfasst: Donnerstag 6. Dezember 2007, 22:21
von BasterTWO
Das wäre echt super !!!
Keine sorge ich kann gut und gerne warten.

Viele Grüße
BasterTWO

Verfasst: Freitag 7. Dezember 2007, 14:45
von Leonidas
Fassen wir das mod_python-Problem zusammen. Du _kannst_ die Python-Version die mod_python nutzt aus technischen Gründen nicht ändern. mod_python ist gegen eine bestimmte Version von der libpython gelinkt, das müsstest du neu kompilieren.

Besser FastCGI nutzen.

Re: Also

Verfasst: Freitag 7. Dezember 2007, 14:52
von gerold
BasterTWO hat geschrieben:Das wäre echt super !!!
Hallo BasterTWO!

http://www.python-forum.de/post-84423.html

Nur noch eines vorab: Schreibe dein Programm so, dass es auch mit Python 2.4 läuft. Das ist leichter als sich mit zwei verschiedenen Python-Versionen auf einem Server herum zu schlagen.

mfg
Gerold
:-)

Header Fehler

Verfasst: Freitag 7. Dezember 2007, 17:24
von BasterTWO
Hallo gerold,
deine HowTo ist echt genial. Viele Dank !!!!!

Leider habe ich das Problem das Apache meldet das er keinen Header bekommt. Ich hab nun mal die .fcgi Datei mal in der Shell ausgeführt da bekamm ich dann folgende Meldung:
WSGIServer: missing FastCGI param REQUEST_METHOD required by WSGI!
WSGIServer: missing FastCGI param SERVER_NAME required by WSGI!
WSGIServer: missing FastCGI param SERVER_PORT required by WSGI!
WSGIServer: missing FastCGI param SERVER_PROTOCOL required by WSGI!
No handlers could be found for logger "cherrypy.access.3076744268"
Status: 200 OK
Date: Fri, 07 Dec 2007 16:19:08 GMT
Content-Length: 4176
Content-Type: text/html
Server: CherryPy/3.0.2

HIER DER HTML CODE
Kann man die Variablen irgendwie setzen denn da denke ich bekommt Apache auch einen richtigen Header da im Error Log nach einem 500 Error folgendes steht:
[Fri Dec 07 17:16:18 2007] [error] [client 91.49.83.20] FastCGI: comm with (dynamic) server "/home/ts2/ts2-cherrypy/cpapp.fcgi" aborted: (first read) idle timeout (30 sec)
[Fri Dec 07 17:16:18 2007] [error] [client 91.49.83.20] FastCGI: incomplete headers (0 bytes) received from server "/home/ts2/ts2-cherrypy/cpapp.fcgi"
Wie könnte ich dieses Problem lösen ???

Viele Grüße
BasterTWO

Re: Header Fehler

Verfasst: Freitag 7. Dezember 2007, 20:46
von gerold
BasterTWO hat geschrieben:Ich hab nun mal die .fcgi Datei mal in der Shell ausgeführt
[...]
[Fri Dec 07 17:16:18 2007] [error] [client 91.49.83.20] FastCGI: comm with (dynamic) server "/home/ts2/ts2-cherrypy/cpapp.fcgi" aborted: (first read) idle timeout (30 sec)
[Fri Dec 07 17:16:18 2007] [error] [client 91.49.83.20] FastCGI: incomplete headers (0 bytes) received from server "/home/ts2/ts2-cherrypy/cpapp.fcgi"
Hallo BasterTWO!

Das fcgi-Skript kann nicht ohne die Daten vom Apachen laufen. Die Header-Daten bekommt das FCGI-Skript vom Apachen übergeben. Deshalb läuft es auch ohne den Apachen nicht korrekt.

Ich bitte dich, dein Programm mal ganz außen vor zu lassen. Nimm exakt das Beispiel, das ich vorgezeigt habe und versuche diese Skripte mit genau den *gleichen Dateinamen* zum Laufen zu bekommen. Und verwende keine Bindestriche im Pfad. Das könnte evt. zu Problemen führen. Also "ts2-cherrypy" nach "ts2cherrypy" ändern.

Und wenn du dann alles auf das Beispiel von mir umgestellt hast und es immer noch nicht funktioniert, dann legst die Python-Dateien, die INI und die relevanten Apache-Konfigurationsdateien auf http://paste.pocoo.org/ ab. Dann kann ich sie mir ansehen um herauszufinden, ob dort irgendwo noch ein Fehler versteckt ist.

mfg
Gerold
:-)

Template Test

Verfasst: Samstag 8. Dezember 2007, 23:41
von BasterTWO
Hallo,
ich habe nun mal dein Beispiel etwas verändernt. Das mein Template geladen wird. Hier habe ich alle Veränderungen die ich gemacht habe gepostet: http://paste.pocoo.org/show/14605/.

Wenn ich diese Änderungen gemacht habe bekomme ich wieder die Apache Internal Server Error Fehlermeldung. Kennt jemand darauf einen Rat ???

Viele Grüße
BasterTWO

Verfasst: Sonntag 9. Dezember 2007, 00:08
von Sr4l
nur nochmal zum Thema mod_python:

Ich habe die gleiche Geschichte auch hinter mir.

Etch hat Py2.4 und alle apt-get Pakete sind auf 2.4 ausgelegt.
mod_python kann seine Version nicht ändern (wie Leonidas schon geschrieben hat)

Lösung ist recht einfach:
alles selber neu kompilieren dabei musste ich jedoch feststellen das ich mir manch andere Sachen kaputt gemacht habe an die ich zuerst nicht gedacht habe.
z.B Trac, dann die Python Subversions Bindings und noch ein paar Sachen

oder alternative:
z.B auf Ubuntu wechseln (wenn möglich) hier sind die Pakete deutlich aktueller.

das hat mod_python in meinen Augen einen kleinen Knacks beschert ;-)

Re: Template Test

Verfasst: Sonntag 9. Dezember 2007, 01:38
von gerold
BasterTWO hat geschrieben:Wenn ich diese Änderungen gemacht habe bekomme ich wieder die Apache Internal Server Error Fehlermeldung.
Hallo BasterTWO!

1.) Mich interessiert jetzt nur mal eines: Hat das von mir gezeigte Beispiel funktioniert?

2.) Falls mein Beispiel funktioniert, dann ändere nur eine einzige Sache daran. Füge diese Zeile hinzu:

Code: Alles auswählen

from Cheetah.Template import Template
Tritt dann der Fehler auf?

Wenn nicht, dann füge zusätzlich die Zeile

Code: Alles auswählen

import MySQLdb
hinzu. Tritt dann der Fehler auf?

3.) Wenn das dann so läuft, dann entwickelst aber bitte lokal und nicht am Server. Das Python-Modul (im Beispiel *cpexample.py*) ist direkt ausführbar und zum Enwickeln gedacht.

mfg
Gerold
:-)

Verfasst: Sonntag 9. Dezember 2007, 01:50
von gerold

Code: Alles auswählen

aptitude install python-cheetah

Also

Verfasst: Sonntag 9. Dezember 2007, 10:29
von BasterTWO
Dein Beispiel hat super funktioniert, dann habe ich genau wie du es gesagt hast es modifiert, aber schon vor deinem Post habe ich auch die Änderungen gepostet. Wenn ich eben das Template lade dann bekomme ich den Fehler von Apache, aber wenn ich das drausen lasse dann geht alles wunderbar.

Viele Grüße
BasterTWO

Re: Also

Verfasst: Sonntag 9. Dezember 2007, 11:01
von gerold
BasterTWO hat geschrieben:Wenn ich eben das Template lade dann bekomme ich den Fehler von Apache
Hallo BasterTWO!

Lass dir bitte nicht alles aus der Nase ziehen.

Wenn du das funktionierende Beispiel nimmst -- und nichts Anderes -- und in diesem funktionierenden Beispiel exakt nur diese Zeile hinzu fügst:

Code: Alles auswählen

from Cheetah.Template import Template
Funktioniert es dann noch oder nicht mehr?

Es geht nur um diese Zeile. Mehr darfst du daran NICHT ändern. Keinen Templateaufruf und kein Import von MySQL. Nichts!

Es gibt auf diese Frage nur zwei Antworten: Ja oder Nein.

Wenn das Beispiel nur durch Ändern dieser Zeile nicht mehr funktioniert, dann musst du Cheetah installieren. Wie das geht, habe ich einen Beitrag vorher aufgezeigt.

mfg
Gerold
:-)