abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:33 | Humor

    Je tu opět apríl. O víkendu zmizel kamion s 12 tunami tyčinek KitKat. Firmy to využívají k aprílovým žertům. Groupon má super akci. Koupíte 1 tyčinku a dostanete 100 zdarma. Ryanair si přelepil letadla. Šéf Outlooku se ptá, proč mají v baráku 14 beden tyčinek KitKat (𝕏). Prusa Research představuje Prusa Pro ACU a vysvětluje proč přílišné sušení škodí vaším filamentům. Telefon Sony Xperia má miliónnásobný zoom (𝕏). PC.net představil Super Ultrabox 2600 se zajímavými parametry. Další aprílové novinky například na April Fools' Day On The Web.

    Ladislav Hagara | Komentářů: 2
    dnes 13:22 | IT novinky

    Společnost OpenAI, která stojí za chatovacím robotem s umělou inteligencí (AI) ChatGPT, získala od investorů 122 miliard USD (2,6 bilionu Kč). Hodnota společnosti tak dosáhla 852 miliard dolarů (více než 18 bilionů Kč). Nejnovější kolo investování se stalo největší, jaké zatím firma uskutečnila, a peníze mají posílit ambiciózní plány rozšíření výpočetní kapacity, datových center a nábor talentů.

    Ladislav Hagara | Komentářů: 3
    dnes 13:11 | IT novinky

    Nástroj k identifikaci občanů v on-line komunikaci s úřady byl dnes dopoledne zhruba dvě hodiny částečně nedostupný. Problém se objevil kolem 09:00 a podařilo se ho vyřešit kolem 11:00. Částečně nedostupná byla služba Národní identitní autority (NIA), problémy podle DIA (Digitální a informační agentura) ovlivňovaly přihlašování například i přes bankovní identitu. „Dostupnost NIA byla plně obnovena, přihlášení k digitálním službám

    … více »
    Ladislav Hagara | Komentářů: 2
    dnes 13:00 | IT novinky

    Eben Upton oznámil další zdražení počítačů Raspberry Pi kvůli růstu cen pamětí a představil Raspberry Pi 4 s 3 GB RAM za 83,75 dolarů.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Humor

    Anthropic patrně omylem zveřejnil celý zdrojový kód svého CLI nástroje Claude Code prostřednictvím přiloženého sourcemap souboru v npm balíčku. Únik odhalil doposud nijak nezveřejněné funkce jako je například režim v utajení, autonomní agent 'KAIROS', orchestrace multi‑agentů, režim snění nebo dokonce virtuální mazlíček Buddy. Zajímavostí je detekce naštvání uživatele pomocí obyčejného regexpu. Anthropic rychle odstranil sourcemap a vydal opravu, nicméně kopie kódu se již stihly na GitHubu rozšířit mezi prostým lidem.

    NUKE GAZA! 🎆 | Komentářů: 9
    včera 14:33 | Humor

    Copilot automaticky vkládal do pull requestů 'propagační tipy', reklamní text se na GitHubu objevil ve více než jedenácti tisících pull requestech. Po vlně kritiky byla tato funkce zablokována a produktový manažer Tim Rogers připustil, že umožnit Copilotovi upravovat cizí pull requesty bez vědomí autorů byla chyba.

    NUKE GAZA! 🎆 | Komentářů: 4
    včera 12:55 | Upozornění

    Je 31. března a tedy Světový den zálohování (World Backup Day). Co by se stalo, kdyby Vám právě teď odešel počítač, tablet nebo telefon, který používáte?

    Ladislav Hagara | Komentářů: 4
    včera 12:44 | Upozornění

    Digitální a informační agentura (DIA) přistupuje ke změně formátu důvěryhodného seznamu České republiky z verze TLv5 na verzi TLv6, která nastane 29. dubna 2026 v 00:00 (CET). Ke změně formátu důvěryhodných seznamů členských států (tzv. Trusted Lists) dochází na základě změn příslušné unijní legislativy. Důvěryhodné seznamy se používají v rámci informačních systémů a aplikací zejména pro účely ověřování platnosti elektronických

    … více »
    Ladislav Hagara | Komentářů: 2
    včera 05:00 | Nová verze

    Rspamd (Wikipedie), tj. open source systému pro filtrování nevyžádané pošty, byl vydán v nové major verzi 4.0.0. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 1
    30.3. 23:11 | Nová verze

    SolveSpace (Wikipedie), tj. multiplatformní open source parametrický 2D/3D CAD, byl vydán v nové verzi 3.2. Přehled novinek v Changelogu na GitHubu. Vyzkoušet lze novou oficiální webovou verzi.

    Ladislav Hagara | Komentářů: 10
    Které desktopové prostředí na Linuxu používáte?
     (15%)
     (7%)
     (1%)
     (12%)
     (30%)
     (3%)
     (5%)
     (1%)
     (14%)
     (23%)
    Celkem 1202 hlasů
     Komentářů: 29, poslední včera 11:17
    Rozcestník
    Aktuální zápisy

    CherryPy 3.0.0beta2 & mod_python

    4.10.2006 15:15 | Přečteno: 2334× | Výběrový blog | poslední úprava: 5.10.2006 09:23

    Už delší dobu se věnuji použití Pythonu na webu. Nedávno mě kamarád přivedl na nápad zkusit kromě mod_pythonu či obyčejného CGI také relativně odlehčený framework jménem CherryPy. Z pythoních frameworků jsem zkoušel zatím jen Django, které je velice slušné, ale já si přecejen ten základ aplikace píšu sám. Django toho za mě dělá až moc. Podobně je na tom TurboGears, který je mi ale sympatičtější, protože vychází právě z CherryPy a templating enginu Kid (ten se dobře s CherryPy používá i tak).

    Způsobů jak použít CherryPy je více. Můžete buď použít vestavěný server (port 8080, ale nic vám nebrání při absenci Apache to hodit na 80), FastCGI nebo třeba právě můj oblíbený mod_python. Oficiální návod na tuto kombinaci neexistuje, pouze je na webu wikioidní databáze "receptů", mezi nimiž takový návod je.

    Brzy jsem však zjistil, že ten návod prakticky vůbec nefunguje (mj. také kvůli současné situaci, kdy se pomalu klube verze 3.0.0 a hodně věcí se mění) a tak jsem se jal o tom diskutovat v cherrypy-users na Google Groups. No a dneska bych vám rád trochu konsolidovaně předložil, co jsme spolu s původním autorem onoho návodu dali dohromady — tedy funkční návod na zprovoznění nejaktuálnější verze CherryPy (3.0.0b2) přes Apache & mod_python.

    Pro začátek

    Nejdřív pro pořádek uvedu, na čem to všechno kutím: Apache/2.0.55 (Ubuntu) mod_python/3.1.4 Python/2.4.3.

    Jak nainstalovat výše uvedený SW, to snad nemusím vysvětlovat. Předpokládám, že každý uživatel Linuxu ví, jak se v jeho distru pracuje s balíčkovacím systémem a že člověk zajímající se o Python na webu tak nějak ví jak to s Apachem chodí.

    Instalace CherryPy je jedoduchá. Stáhneme poslední verzi a nainstalujeme pomocí

    sudo python setup.py install
    Pak využijeme vymožeností open-source a CherryPy si spravíme. V __init__.py v adresáři cherrypy chybí
    from cherrypy import _cprequest
    Dále potřebujeme skript modpython_gateway.py, který je v nové verzi CherryPy již nahrazen nativním modulem, ten ale ještě jaksi nefunguje jak má. Stažený skript nakopírujeme někam do PYTHONPATH.

    Jdem na to

    V adresáři s weby (typicky /var/www) vytoříme adresář myapp. V něm vytvoříme webařům snad známý soubor .htaccess a vložíme do něj toto:
    PythonPath "['/var/www/myapp']+sys.path"
    SetHandler python-program    
    PythonHandler modpython_gateway::handler
    PythonOption wsgi.startup app::startapp
    PythonOption wsgi.application cherrypy::tree
    PythonOption wsgi.cleanup cherrypy::engine.stop
    
    Věc se dá zařídit i přímo přes apache2.conf, kam se stejné řádky vloží do tagu <Location /myapp> </Location>.
    Poté vytvoříme soubor app.py a to s tímto obsahem:
    import cherrypy
    
    class HelloWorld:
    	def index(self):
    		return "Hello world!"
    	index.exposed = True
    	
    	def page(self):
    		return "Some page..."
    	page.exposed = True
    	
    def startapp(req):
    	cherrypy.tree.mount(HelloWorld(), "/myapp")
    	cherrypy.config.update({"environment": "production"})
    	cherrypy.engine.start(blocking=False)
    
    Ze souboru je dobře vidět, jaká je filosofie stavby CherryPy aplikace. Třída je "adresářovou úrovní", její metody jednotlivými "stránkami" (berte ty uvozovky opravdu vážně). Nesmírně praktická je pak možnost definovat proměnné a další věci v konstruktoru a používat je v jakékoliv metodě té třídy. No a když se pak tyhle věci skoubí s dědičností tříd a podobnými věcmi... Ve startovací funkci se na strom aplikace jednoduše namountuje co a hlavně kam chceme. Abychom náš projekt našli na http://localhost/myapp, naroubujeme třídu HelloWorld na větev /myapp. IMHO perfektní filosofie tvorby webu.

    No, a teď bychom měli vidět "Hello World!" na http://localhost/myapp (resp. http://localhost/myapp/index) a text "Some page..." na http://localhost/myapp/page.

    Tenhle blogpost rozhodně nemá za cíl podávat vyčerpávající informace o uvedeném frameworku a nějak do hloubky rozebírat jeho princip, to je asi zřejmé. Jen ventiluju svoji radost z toho, že se konečně něco pohlo ;-) Zájemcům doporučuju prošmejdit web CherryPy a uvedenou Google grupu.

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    4.10.2006 17:47 tyctor | skóre: 13
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    neskusali ste ci sa da takto nastavit aj cherrypy 2.2.1?
    Daniel Kvasnička ml. avatar 4.10.2006 18:43 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    Urcite. Tenhle navod je adaptovany navod pro 2.x. Original, ze ktereho jsem to vykutil, je zde.
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    4.10.2006 18:56 tyctor | skóre: 13
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    diky, teraz to mam riesene cez mod_rewrite, ale to sa mi velmi nepaci, toto vyzera lepsie.

    mozem sa este opytat ake mate skusenosti s mod_python?
    ja som bezal povodne na nom, ale mal som problemy s kesovanim skriptov. no a dorazilo ma ked mi aplikacia prestala bezat uplne.
    tak som presiel na cherrypy.
    Daniel Kvasnička ml. avatar 4.10.2006 19:12 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    mozem sa este opytat ake mate skusenosti s mod_python?

    ja som bezal povodne na nom, ale mal som problemy s kesovanim skriptov.
    No, tak nevim, jestli ted mluvime oba o tom samem, ale ja mel (a obcas i mam) takove problemy taky. Mod_python mi neznamo proc casto nereloaduje moduly a to i kdyz mam explicitne nastaveno PythonAutoReload On :-( Ale to je problem jen pri vyvoji.

    Jinak s nim mam zksuenosti dobre, zvlaste s tim vestavenym templatovacim systemem. Na opravdu male weby je cisty mod_python spickova vec. I ten jeho CGIHandler je 15x rychlejsi nez ciste CGI :-)

    Ta rychlost myslim, ze bude jedna z nespornych vyhod mod_pythonu oproti mod_rewrite. To mi precijen pripadne jako takove "spinave" reseni :-)
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    5.10.2006 11:04 tyctor | skóre: 13
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    ano presne to je ono.
    stavalo sa mi to ked som pouzival handler publisher.
    prejavuje sa to uz vas aj v spojeni s cherrypy?
    Daniel Kvasnička ml. avatar 5.10.2006 13:13 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    Jo, v publisheru mi to taky dela :-) ...ale ten je mi zrovna nejsympatictejsi.

    U cherrypy ale prakticky vubec, je to lepsi. Dokonce pouzivani KID templatu s povolenym kid.enable_import() je spolehlivejsi nez normalne ty soubory natahovat, hazi to mene chyb (neznamo proc mi to pri beznem natahovani obcas napise, ze tam ten soubor neni, nekdy je to OK). Stejne je to pres ten import elegantnejsi :-)
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    5.10.2006 13:36 tyctor | skóre: 13
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    presne tak, publisher sa mi tiez paci.
    vo verzii 3.3 to ma uz byt odstranene...
    Daniel Kvasnička ml. avatar 5.10.2006 14:43 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    vo verzii 3.3 to ma uz byt odstranene...
    Jeee, to bych byl stastny jako blecha! :-) Jedina opravdova vada mod_pythonu...
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    Daniel Kvasnička ml. avatar 5.10.2006 13:36 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    trosku jsem se unahlil, ted jsem si s tim trochu hral a u cherrypy to reloadovani modulu dokaze taky hezky potrapit :-(
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    5.10.2006 13:42 tyctor | skóre: 13
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    asi je to iba v spojeni s mod_python. za mod_rewrite sa mi to sprava ovela lepsie ako publisher.
    ale urcite skusim este mod_python + cherrypy.
    4.10.2006 18:20 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    Django se mi osvědčilo pro neuvěřitelnou rychlost vývoje. Problémy sice nastaly, když jsem výchozí chování potřeboval upravit, ale všechno se dalo rozumně vyřešit. Nedostal jsem se zatím k tomu, abych naimplementoval podporu pro jiné databázové datové typy, což už asi bude horší. Jak rozsáhlé projekty jsi s CherryPy psal?
    Math, as Barbie says, is hard.
    Daniel Kvasnička ml. avatar 4.10.2006 18:40 Daniel Kvasnička ml. | skóre: 52 | blog: The Joys and Sorrows of Being an IT Freak | Ostrava
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    Priznam se, ze moc velke zatim ne, jen mensi veci. Jsem ve fazi prechodu od PHP.
    Nedostal jsem se zatím k tomu, abych naimplementoval podporu pro jiné databázové datové typy, což už asi bude horší.
    Mozna, ze lepe by to slo v TurboGears, kterej pouziva SQLObject, ne?

    btw: podle tohoto postu pod kapotou Djanga taky tluce CherryPy :-)
    FSF: “screw you for not wanting the stuff we produce”, People: “screw you for not producing the stuff we want."
    Věroš avatar 28.12.2006 21:25 Věroš | skóre: 24 | blog: Co není v hlavě | 49.29 s.š., 16.54. v.d.
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    Hmm, už abych napsal nějaký zápisek o W4PY. :-)

    Jednoduchý, a ne..re se do cesty, když mám představu, jak něco napsat.
    Školím Ansible
    Martin Stiborský avatar 13.1.2007 21:36 Martin Stiborský | skóre: 26 | blog: Stibiho bláboly | Opava
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    Zdravím, mám s cherrypy a mod_python trochu problémek. Při zadání adresy http://localhost/myapp/page dostanu seznam souborů v adresáři, takže asi se spolu mod_python,cherryPy a apache nebaví .. Je ještě třeba nějaké další nastavení apache ?
    Kvík ..
    1.5.2009 23:48 Wily
    Rozbalit Rozbalit vše Re: CherryPy 3.0.0beta2 & mod_python
    hm, nemáš asi povolenej modul do apache. A to mod_python. Protože apache asi neví, že mám spustit python. :) V debianích systémech se to dá povolit příkazem "a2enmod nazev_modulu". A nebo jej hoď do "mods-enabled".

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.