Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: TomasCZ 17. 05. 2010, 17:49:22

Název: Python 3.1, FCGI
Přispěvatel: TomasCZ 17. 05. 2010, 17:49:22
Zdravím,

programuju v PHP a poslední dobou si hraji s Pythonem 3.1. Vypada to nadherne. Chtel bych se zeptat jak se da pouzit Python pro web aby byl rychly a jeho kod se podobal jeho jednoduchosti viz.:

seznam = ["Julca", "Helca"]
for vypis in seznam:
   print(vypis)

Dival jsem se na mod_python a wsgi a ani jedno se me moc nezamlouva. Nekde jsem cetl ze FCGI je lepsi a rychlejsi varianta CGI pro Python. Je tomu tak ? Chtel bych Python pouzit pro velke s velkou navstevnosti (5000-50000UIP denne).
Název: Re: Python 3.1, FCGI
Přispěvatel: Jakub L. 17. 05. 2010, 20:46:58
Obecně se doporučuje používat WSGI, neboť má nejvyšší výkonnost a slušnou míru bezpečnosti
http://code.google.com/p/modwsgi/wiki/PerformanceEstimates

FCGI by do té tabulky přišlo někam mezi CGI a mod_python, asi blíže k mod_python, nicméně zabezpečení opět snižuje výkonnost...


Název: Re: Python 3.1, FCGI
Přispěvatel: TomasCZ 17. 05. 2010, 21:43:55
Jj to jsem zkousel a rozjel jsem to na apache 2.2. Jenze

def application(environ, start_response):
    status = '200 OK'
    output = 'Hello World!'

    response_headers = [('Content-type', 'text/plain'),
                        ('Content-Length', str(len(output)))]
    start_response(status, response_headers)

    return [output]

me ani trochu nepripomina pythona. Jak se v tomto da treba udelat podmina x je vetsi nez 2. :/
Název: Re: Python 3.1, FCGI
Přispěvatel: Jakub L. 18. 05. 2010, 00:06:10
On se na to většinou napíše nějaký wrapper, takže se člověk přímo s WSGI moc nepotká, jen místo printu píše něco jiného... Ale upřímně, já nejsem Python-WSGI programátor, jen admin, který už tohle někam cpal...
Název: Re: Python 3.1, FCGI
Přispěvatel: Messa 02. 06. 2010, 17:32:13
Ahoj, zkus si přečíst tohle, jsou to odpovědi na v podstatě stejnou otázku:

http://groups.google.com/group/cz.comp.lang.python/browse_thread/thread/602ef0d11587abe0

FastCGI je dobré, a nejlepší cesta jak udělat FastCGI webovou aplikaci v Pythonu vede přes... WSGI :) Jinak FastCGI je samozřejmě o hodně lepší přístup než CGI - asi nejdůležitější je, že aplikace zůstává v paměti, nemusí se znovu spouštět při každém požadavku. Mod_WSGI v daemon módu je vlastně designově to samé jako FastCGI.

Jen se obávám, že v Pythonu 3 bude s WSGI trochu problém, specifikace WSGI totiž pro 3.x ještě není dokončena. Nějak použitelné to ale je, třeba s mod_wsgi. Přesně nevím, já osobně zůstávám u Pythonu 2.x, ono je to podle mě celkem jedno.

Čistě ve WSGI se ale obvykle nepracuje. Zkus se podívat na nějaké Pythonové frameworky (Django, Turbogears, Pylons), popř. na lehčí knihovny (WebOb, Werkzeug, web.py, CherryPy, ...).
Název: Re: Python 3.1, FCGI
Přispěvatel: patrik 06. 06. 2010, 11:50:46
Plánuješ-li používat Python pro weby, určitě se podívej na framework Django (http://zdrojak.root.cz/serialy/hrajeme-si-s-djangem/)