Pylons on Jython¶
Pylons supports Jython as of v0.9.7.
Installation¶
The installation process is the same as CPython, as described in Getting Started. At least Jython 2.5b2 is required.
Deploying to Java Web servers¶
The Java platform defines the Servlet API for creating web applications. The modjy library included with Jython provides a gateway between Java Servlets and WSGI applications.
The snakefight tool can create a WAR file from a Pylons application (and modjy) that’s suitable for deployment to the various Servlet containers (such as Apache Tomcat or Sun’s Glassfish).
Creating .wars with snakefight¶
First, install snakefight:
$ easy_install snakefight
This adds an additional command to distutils: bdist_war.
Pylons applications are loaded from Paste, via its paste.app_factory
entry
point and a Paste style configuration file. bdist_war knows how to
setup Paste apps for deployment when specified the --paste-config
option:
$ paster make-config MyApp production.ini
$ jython setup.py bdist_war --paste-config production.ini
As with any distutils command the preferred options can instead be added to the
setup.cfg
in the root directory of the project:
[bdist_war]
paste-config = production.ini
Then we can simply run:
$ jython setup.py bdist_war
bdist_war creates a .war
with the following:
- Jython’s
jar
files inWEB-INF/lib
- Jython’s stdlib in
WEB-INF/lib-python
- Your application’s required eggs in
WEB-INF/lib-python
With the --paste-config
option, it also:
- Creates a simple loader for the application/config
- Generates a
web.xml
deployment descriptor configuring modjy to load the application with the simple loader
For further information/usages, see snakefight’s documentation.