CherryPy
Pythonic, object-oriented web framework
Install on Slackware 14
wget https://pypi.python.org/packages/source/C/CherryPy/CherryPy-3.2.4.tar.gz
cp CherryPy-3.2.4.tar.gz /tmp
- cd /tmp
tar xvzf CherryPy-3.2.4.tar.gz
- python setup.py build
- python setup.py install
Check installation
python Python 2.7.3 (default, Jul 3 2012, 21:16:07) [GCC 4.7.1] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import cherrypy >>> cherrypy.__version__ '3.2.2' >>> quit()
CherryPy test web app
Create folder the web app
- mkdir -p /var/www/htdocs/cherrypytest/
Create file /var/www/htdocs/cherrypytest/cherrypytest.wsgi
1 import sys
2 sys.stdout = sys.stderr
3 import cherrypy
4
5 cherrypy.config.update({'environment': 'embedded'})
6
7 class HelloWorld(object):
8 @cherrypy.expose
9 def index(self):
10 return "Hello World CherryPy!!!!"
11 @cherrypy.expose
12 def add(self,param1,param2):
13 return str( int(param1)+int(param2) )
14
15 hello = HelloWorld()
16 application = cherrypy.Application(hello, script_name=None, config=None)
Create entry in /etc/httpd/vhosts.conf
Add entry in /etc/hosts
- 127.0.0.1 localhostcherrypytest
Restart apache
- /etc/rc.d/rc.httpd restart
Open the following URLs:
CherryPy configuration location
In Slack14 is in
- /usr/lib/python2.7/site-packages/CherryPy-3.2.2-py2.7.egg/cherrypy/_cpconfig.py
Inside the file look for Config.environments . Run python interactively to check the environments
>>> import cherrypy >>> envs= cherrypy._cpconfig.environments #dictionary >>> envs['embedded'] {'checker.on': True, 'engine.SIGTERM': None, 'request.show_mismatched_params': True, 'request.show_tracebacks': True, 'engine.autoreload_on': False, 'tools.log_headers.on': True, 'log.screen': True, 'engine.SIGHUP': None} >>> envs['production'] {'request.show_tracebacks': False, 'log.screen': False, 'request.show_mismatched_params': False, 'checker.on': False, 'engine.autoreload_on': False, 'tools.log_headers.on': False}