Pylons on Jython¶
Pylons supports Jython as of v0.9.7.
Installation¶
The installation process is the same as CPython, as described in 快速入门. 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
jarfiles 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.xmldeployment descriptor configuring modjy to load the application with the simple loader
For further information/usages, see snakefight’s documentation.