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
Fórum › Python
Python pod Apache na Win Vista - problem
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ě.
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()
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
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
Vyřešení po osmnácti měsících => zázraky se dějí :smile6:
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)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
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.
Temp soubory z Firefoxu ve Win Vista? — založil stavik2
Moderátoři diskuze