Python pod Apache na Win Vista - problem – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Python pod Apache na Win Vista - problem – Python – Fórum – Programujte.comPython pod Apache na Win Vista - problem – Python – Fórum – Programujte.com

 

sector_10
Duch
8. 6. 2008   #1
-
0
-

Zdravim,

poprve v zivote potrebuji rozbehat Pathon 2.5 pod Apache na Windows Vista (je 64bit ale to nevadi). Chci se ho zacat naucit.

Nainstaloval jsem si, mnou dlouhodobe pouzivany, balicek XAMPP a nemohu pod Apache rozbehat modul Pythonu.
XAMMP pouzivam hlavne take na testovani PHP5, MySQL5 scriptu a mam proste kompletni spravu web scriptu a testovani na localhostu.

Takze XAMPP mam v C:\Program Files (x86)\xampp
Zvlast nainstalovany Python mam v C:\Python

Stahl jsem si a nainstaloval take mod_python-3.3.1.win32-py2.5-Apache2.2

Do httpd.conf jsem pridal:

LoadModule python_module modules/mod_python.so

a

<Directory "C:/Program Files (x86)/xampp/htdocs/py/">
AddHandler mod_python .py
PythonHandler mptest
PythonDebug On
</Directory>

mam default .py soubor zvany mptest.py jehoz zdroj je:

from mod_python import apache

def handler(req):
req.content_type = 'text/plain'
req.write("Hello World!")
return apache.OK

Po spusteni http://127.0.0.1/py/mptest.py

Mi Apache bleje chybu typu:

MOD_PYTHON ERROR

ProcessId: 3520
Interpreter: 'localhost'

ServerName: 'localhost'
DocumentRoot: 'C:/Program Files (x86)/xampp/htdocs'

URI: '/py/mptest.py'
Location: None
Directory: 'C:/Program Files (x86)/xampp/htdocs/py/'
Filename: 'C:/Program Files (x86)/xampp/htdocs/py/mptest.py'
PathInfo: ''

Phase: 'PythonHandler'
Handler: 'mptest'

Traceback (most recent call last):

File "C:\Python\lib\site-packages\mod_python\importer.py", line 1537, in HandlerDispatch
default=default_handler, arg=req, silent=hlist.silent)

File "C:\Python\lib\site-packages\mod_python\importer.py", line 1202, in _process_target
module = import_module(module_name, path=path)

File "C:\Python\lib\site-packages\mod_python\importer.py", line 296, in import_module
log, import_path)

File "C:\Python\lib\site-packages\mod_python\importer.py", line 680, in import_module
execfile(file, module.__dict__)

File "C:\Program Files (x86)\xampp\htdocs\py\mptest.py", line 4

req.content_type = 'text/plain'

^

IndentationError: expected an indented block


MODULE CACHE DETAILS

Accessed: Sat Jun 07 20:05:15 2008
Generation: 0

_mp_1dd59527fc95843e6fa0e6b918a4eb3a {
FileName: 'C:\\Program Files (x86)\\xampp\\htdocs\\py\\mptest.py'
Instance: 1 [IMPORT]
Generation: 0 [ERROR]
Modified: Sat Jun 07 17:49:08 2008
}

At delam co delam bohuzel to zaboha nejde rozbehat... googloval jsem ale bohuzel otec google nevi jak poradit.

Poradi nekdo ?
Budu velice vdecny

Nahlásit jako SPAM
IP: 88.146.65.–
Quiark0
Věrný člen
8. 6. 2008   #2
-
0
-

Zásadní na tom je
File "C:\Program Files (x86)\xampp\htdocs\py\mptest.py", line 4

req.content_type = 'text/plain'

^

IndentationError: expected an indented block

neboli nějaký problém s odsazením. Python používá k vyznačení bloků (tedy toho, co se v PHP, C, Javě atd. používá { }) pouhé odsazení. A to musí být správné (= konzistentní). Takže to zkus opravit, jestli třeba nemícháš tabulátory s mezerami a podobně.

Nahlásit jako SPAM
IP: 194.212.43.–
sector_10
Duch
8. 6. 2008   #3
-
0
-

v mptest mam:

    from mod_python import apache


def handler(req):
req.content_type = 'text/plain'
req.write("Hello World!")
return apache.OK


je to dle pripkaldu co je na internetu (myslim nekde u toho mod python pro Apache...

a co treba soubor - mohl by fungovat pod mod_python ? Nebo mohl byste doporucit nejaky mini priklad, ktery by otestoval funkcnost zda Python funguje spravne nebo ne ? NEbo delam nekde chybu v scriptu ?

print "ahoj svete"
raw_input()

Nahlásit jako SPAM
IP: 88.146.65.–
sector_10
Duch
8. 6. 2008   #4
-
0
-

tak mod_python jsem pod Apache na windows uz rozbehal...

kod v htdocs/py/mptest.py funguje

kod je:

from mod_python import apache

def handler(req):
req.content_type = "text/html"
req.write("<html><head><link href=\"../xampp/xampp.css\" rel=\"stylesheet\" type=\"text/css\"></head><body>")
req.write(" <p><h1>AHOJ !!!!+ ...</h1>")
req.write("<b>... hura ! ...</b><br><br><br>")
return apache.OK


Ted resim ale jinaci problem...

kdyz vytvorim jiny soubor treba test.py - tak mi apache porad nacita mptest.py ikdyz v adresnim radku natukam 127.0.0.1/py/test.py tak se mi nacte zdrojak z mptest.cz

jak nastavit
<Directory "C:/Program Files (x86)/xampp/htdocs/py/">

AddHandler mod_python .py
PythonHandler mptest
PythonDebug On
</Directory>


abych nacital pokazdy mnou zvoleny soubor, treba ahoj.py, neco.py s ruznym zdrojovym kodem ?

dekuji velice za rady

Nahlásit jako SPAM
IP: 88.146.65.–
BigBear0
Stálý člen
3. 10. 2009   #5
-
0
-

Ahoj, prave take rozchazim mod_python a problem, ktery pises je popsany zde: http://www.modpython.org/live/current/doc-html/inst-testing.html ... misto toho, abys jako handler pouzil mptest, ktery vraci jen jeden urcity text, tak musis pouzit jiny, spravne naprogramovany handler, nebo muzes pouzit napriklad pythonovsky "vnitrni" publisher... takze takto:

<Directory "C:/Program Files (x86)/xampp/htdocs/py/">

AddHandler mod_python .py
PythonHandler mod_python.publisher
PythonDebug On
</Directory>


nyni muzes vytvorit ruzne soubory, napriklad ahoj.py a hello.py a do nich dat napriklad tyto testovaci kody:
Soubor: ahoj.py


# -*- coding: utf8 -*-
from mod_python import apache

def index(req):
req.content_type = 'text/html'
req.write("Ahoj svete!")
return apache.OK
#enddef


Soubor: hello.py


# -*- coding: utf8 -*-
from mod_python import apache

def index(req):
req.content_type = 'text/html'
req.write("Hello world!")
return apache.OK
#enddef


a nyni smele browsuj ;-)... 127.0.0.1/py/ahoj.py, 127.0.0.1/py/hello.py... melo by to fungovat... jediny problem je, ze publisher vypisuje i to, co je za prikazem return... tudiz apache.OK, ktery ti vrati 0. A prave resim tento problem, nechci, at to vypisuje, tudiz si bud poupravim publisher, nebo si napisu vlastni handler, az budu vedet, jak na to :-D

Nahlásit jako SPAM
IP: 88.146.146.–
NECIN DRUHYM TO, CO NECHCES, ABY ONI CINILI TOBE!
sputnikone+1
Věrný člen
3. 10. 2009   #6
-
0
-

Vyřešení po osmnácti měsících => zázraky se dějí :smile6:

Nahlásit jako SPAM
IP: 89.176.157.–
Anonymní uživatel
~ Anonymní uživatel
0 příspěvků
27. 11. 2009   #7
-
0
-

jediny problem je, ze publisher vypisuje i to, co je za prikazem return... tudiz apache.OK, ktery ti vrati 0. A prave resim tento problem, nechci, at to vypisuje, tudiz si bud poupravim publisher, nebo si napisu vlastni handler, az budu vedet, jak na to :-D



Podařilo se nějak tu nulu odbourat? Docela se s tím teď potýkám, tak kdyby byla rada :o)

Nahlásit jako SPAM
IP: 85.70.48.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 6 hostů

Podobná vlákna

Python a win vista — založil mustafa

Pascal pod Vista Business — založil Binary Ranger

IIS a WIn Vista — založil Sniper

SP2 Win Vista 32-bit — založil jadus.

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý