Skocz do zawartości

Python-cherrypy


Andrzej Orkan

Rekomendowane odpowiedzi

zainstalowałem sobie yumem pakiet "python-cherrypy" (oraz oczywiście "python")

i napisałem sobie następujący prosty skrypt:

 

import cherrypy

class MyRoot:
    def index(self, who="World"):
        return "Hello, %s!" % (who)
    index.exposed = True

cherrypy.quickstart(MyRoot())

 

uruchomienie go daje następujący efekt:

 

$ python cherry1.py 
Traceback (most recent call last):
  File "cherry1.py", line 8, in <module>
    cherrypy.quickstart(MyRoot())
AttributeError: 'module' object has no attribute 'quickstart'

 

czy trzeba jeszcze jakoś specjalnie skonfigurować pythona, żeby widział cherrypy? czy ja coś źle napisałem w kodzie? wydaje mi się, że cherrypy ma metodę quickstart, więc w czym problem?

 

a jeszcze nawet nie zacząłem tego testować w http:// a już jakiś problem

 

ktoś ma jakiś pomysł?

Odnośnik do komentarza
Udostępnij na innych stronach

Python ma rację. Bo metody quickstart() nie ma. O:

$ python
Python 2.5.1 (r251:54863, Oct 30 2007, 13:54:11)
[GCC 4.1.2 20070925 (Red Hat 4.1.2-33)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cherrypy
>>> dir(cherrypy)
['Error', 'HTTPError', 'HTTPRedirect', 'InternalError', 'InternalRedirect', 'NotFound', 'NotReady', 'RequestHandled', 'WrongConfigValue', '_ThreadLocalProxy', '__builtins__', '__doc__', '__file__', '__name__', '__path__', '__version__', '_cpcgifs', '_cpengine', '_cperror', '_cphttptools', '_cpserver', '_cptree', '_cputil', '_session_data_holder', '_session_last_clean_up_time', '_session_lock_dict', 'codecoverage', 'config', 'datetime', 'expose', 'filters', 'lib', 'local', 'log', 'lowercase_api', 'request', 'response', 'root', 'server', 'serving', 'session', 'sessionfilter', 'sys', 'threadData', 'thread_data', 'tree', 'types', 'urllib']
>>>            

Przykład zapewne wziąłeś z http://www.cherrypy.org/ -- ale tamten dotyczy CherryPy 3, a w Fedorze jest, o ile dobrze widzę, 2.2.1.

Odnośnik do komentarza
Udostępnij na innych stronach

próbowałem zainstalować CherryPy3 z rpm-a za pomocą yumlocalinstall, z tym że mój program tym razem odpowiadał, że nie może znaleźć modułu "cherrpy".

 

czy ktoś wie gdzie wpisać w odpowiednie configi pythona lokalizację biblioteki cherrypy?

 

dzięki z góry za odpowiedź

Odnośnik do komentarza
Udostępnij na innych stronach

Domyślnie jest to /usr/lib/<twój-python>/site-packages/<package>, chyba że zmienisz coś w konfiguracji.

 

dzięki jjj, pomogłeś mi ogromnie, otóż rpm z cherrypy3 instalował pakiet w /usr/lib/python2.4/site-packages/cherrypy podczas gdy ja korzystam z pythona 2.5

 

zrobiłem

cd /usr/lib/python2.5/site-packages/
ln -s ../../python2.4/site-packages/cherrypy cherrypy

 

i jakoś działa, narazie na żadne trudności ze zgodnościami obu wersji pythona się nie natknąłem

 

Jak zaczynasz się uczyć to może zobacz Django, jest w repo i działa bardzo dobrze i jest o nim sporo nawet po naszemu, lub potężnego Pylonsa, tu już z instalacją trzeba pomieszać ale materiały po polsku też się znajdą.

 

no i Django okazało się tym czego szukałem :)

świetna sprawa i do nauki Pythona i robienia fajnych webservices

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...