Pythonskript über Apache ausgeben, sehr einfaches Skript

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
mysticds
User
Beiträge: 6
Registriert: Freitag 20. April 2007, 08:04

Freitag 20. April 2007, 08:14

Hallo Zusammen!

Ich muß für eine kleine Vorführung ein Pythonskript im Firefox anzeigen. Ist dies möglich? Ich habe schon ein paar Skripte auf der Kommandozeile zusammengebaut aber mit der anzeige über den Apache klappt es nicht so recht.

Ich habe über yast das Python mit in den Apache eingebunden. Das Skript habe ich unter /srv/www/cgi-bin gelegt. Ich bekomme aber immer die nur Fehlermeldung, dass ich das Skript herunterladen kann. Als Beispiel hab ich ertsmal nur:

print "Hello World"

genommen.

Anschließend will ich es noch um eine Datenbankanbindung erweitern, was schon auf der Kommandozeile geklappt hat.

Hoffentlich könnt ihr mir etwas helfen, da ich kein riesen Framework brauche und haben möchte.

Danke!

MfG
Leonidas
Administrator
Beiträge: 16024
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Freitag 20. April 2007, 15:59

Hallo mysticds, willkommen im Forum,

such doch im Forum nach CGI, sowas wurde schon oft gefragt.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Samstag 21. April 2007, 02:50

Wenn es dir zum Download angeboten wird, wird es nicht korrekt von Python geparst. Dazu musst du die Shebang-Line in die erste Zeile setzen (`#!/usr/bin/env python` oder ggf. an das System angepasst) und Apache über dessen Config oder eine .htaccess (wenn erlaubt) mitteilen, dass Python Dateien mit der Endung .py interpretieren soll - etwa so:

Code: Alles auswählen

Options +ExecCGI
AddHandler cgi-script .py
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Sonntag 22. April 2007, 09:27

[wiki]Web-Skripte zum laufen bringen[/wiki] :lol:

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Sonntag 22. April 2007, 11:27

jens hat geschrieben:[wiki]Web-Skripte zum laufen bringen[/wiki] :lol:
Der Edit-History nach warst *du* also derjenige, der den Titel verbrochen hat. "Laufen" schreibt man in dem Fall nämlich groß.
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Sonntag 22. April 2007, 12:00

Es steht dir frei das zu korrigieren :lol:

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Sonntag 22. April 2007, 14:26

Wodurch dann alle Links darauf kaputt gehen? Nein, danke.
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Sonntag 22. April 2007, 16:18

Habs umbenannt.
TUFKAB – the user formerly known as blackbird
mysticds
User
Beiträge: 6
Registriert: Freitag 20. April 2007, 08:04

Montag 23. April 2007, 12:52

Danke, für die Tipps. Es hat alles geklappt!

So, hab einen Teil jetzt auch fertig. Hab ein einfaches Skript über das mod-python ausgeben lassen - jetzt ratet mal welches ;-)

Code: Alles auswählen

from mod_python import apache

def handler(req):
    req.content_type = 'text/plain'
    req.write(“Hello World!”)
    return apache.OK
soweit ist ja auch alles super, aber wenn ich ein

Code: Alles auswählen

use DBI
am Anfang einbringe gibt es nur noch Fehlermeldungen. Es funktioniert bei mir aber in der Konsole. Mache ich da etwas grundsätzlich falsch? Wollte nämlich ein paar Zeilen aus der Datenbank auslesen und die dann in ein Array speichenr und dann ausgeben.

Danke für eure Antworten!
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Montag 23. April 2007, 21:26

`use DBI;` ist kein Python, sondern Perl, und DBI ist das bekannte Perl-Modul für Datenbank-Konnektivität. Mir scheint, du hast da ein paar Tutorials durcheinander gewürfelt.
mysticds
User
Beiträge: 6
Registriert: Freitag 20. April 2007, 08:04

Dienstag 24. April 2007, 06:41

Y0Gi hat geschrieben:`use DBI;` ist kein Python, sondern Perl, und DBI ist das bekannte Perl-Modul für Datenbank-Konnektivität. Mir scheint, du hast da ein paar Tutorials durcheinander gewürfelt.
HILFE HILFE!!! Selbstverblö.....

Da hast du recht. Ich wollte auch eigentlich

Code: Alles auswählen

import DB2
schreiben.
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dienstag 24. April 2007, 07:46

Für ein "Hello World" würde ich die finger von mod_python lassen! Nimm ganz einfaches CGI, das dürfte reichen!

Wenn du Leute beeindrucken willst, dann zeig ihnen django :)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mysticds
User
Beiträge: 6
Registriert: Freitag 20. April 2007, 08:04

Dienstag 24. April 2007, 08:04

jens hat geschrieben:Für ein "Hello World" würde ich die finger von mod_python lassen! Nimm ganz einfaches CGI, das dürfte reichen!

Wenn du Leute beeindrucken willst, dann zeig ihnen django :)
Ich wollte es nur mit dem mod_python testen. Beeindrucken will ich keinen. Es soll nur eine kleine Datenbankabfrage sein.
Benutzeravatar
jens
Moderator
Beiträge: 8461
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Dienstag 24. April 2007, 08:33

Oben stand was von "kleine Vorführung", deswegen dachte ich...

Wie gesagt, lass besser die Finger von mod_Python und Co. Das macht für kleine Sachen keinen Sinn. Zum Entwickeln schon gar nicht. Es ist eigentlich nur für den performanten Produktiveinsatz gedacht...

Da es nicht das erste Mal ist, hab ich mal einen neuen FAQ Eintrag dazu geschrieben: [wiki]FAQ#IchHabProblemeMitModPython[/wiki] Wie immer: Bitte evtl. verbessern ;)

CMS in Python: http://www.pylucid.org
GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
mysticds
User
Beiträge: 6
Registriert: Freitag 20. April 2007, 08:04

Dienstag 24. April 2007, 09:08

jens hat geschrieben:Oben stand was von "kleine Vorführung", deswegen dachte ich...

Wie gesagt, lass besser die Finger von mod_Python und Co. Das macht für kleine Sachen keinen Sinn. Zum Entwickeln schon gar nicht. Es ist eigentlich nur für den performanten Produktiveinsatz gedacht...

Da es nicht das erste Mal ist, hab ich mal einen neuen FAQ Eintrag dazu geschrieben: [wiki]FAQ#IchHabProblemeMitModPython[/wiki] Wie immer: Bitte evtl. verbessern ;)
Danke für die "Aufklärung", dann wende ich mich mal dem CGI zu. im Faq ist das Wort nutzen falschgeschrieben nutzten ;-)
Antworten