On Mon, Aug 10, 2009 at 1:55 PM, Brian O'Connor<gatzby...@gmail.com> wrote:
> I've read a few threads about the state of pylons on google app engine, and
> that parts of it work and parts don't.  Doing a quick google on the subject
> reveals a few tutorials that use appengine-monkey to accomplish setting up
> the framework, however it appears as if that is no longer necessary.
>
> I was wondering if there was an up to date howto on the subject of running a
> pylons app on GAE?  Or if anyone has any experiences with the matter and
> could shed some light?

I was doing research on this for a book I was writing, but I got so
frustrated at the limitations and bugs and sudden changes in App
Engine that I gave up.  I turned the book over to another author, and
I don't know whether he's going to keep the Pylons focus.  What's left
is a howto I wrote re installing Pylons with
Appengine-Monkey/appengine-boot.
http://wiki.pylonshq.com/display/pylonscookbook/Creating+a+Pylons+application+for+Google+App+Engine

Since then, several things have happened:

1) Ian wrote an appengine_homedir script in Appengine-Monkey, with a
better application structure.

2) Google added some of the Appengine-Monkey code to App Engine, so
now it runs Setuptools without the monkey.

3) Google raised the file limit from 1000 to 3000.  Pylons and a
default app is around 950 files, so this gives more breathing room
without zipping packages.

4) Beaker worked with Datastore, then it didn't. but I think it's working now.

5) The interactive traceback was working in the development
environment, then somebody said it wasn't.  I haven't figured out what
causes it to work in some cases but not others.

The best advice now is to use the appengine_homedir script.  The howto
is still useful but you'll have to make allowances for the differences
between appengine_boot and appengine_homedir.  You can disable the
monkey by commenting out the "import appengine_monkey" line in
paste-deploy.py .  It needs more testing before the howto can be
updated.

In the farther future I'd like to see:
- Extract appengine_homedir to a separate distribution without the monkey.
- Make a simple tarball installer containing Pylons, the dependencies, and
appengine_homedir.
- A tarball containing a default application would be ideal, but I'm
not sure it's feasable given Virtualenv's symlinks to the system
Python, which are different on each system.
- Better distribution of the uploadable and non-uploadable files.  The
appengine_homedir structure helps by having an application
subdirectory which is uploaded, and the bin scripts are installed
outside that.  But Nose gets installed inside even though it's not
useful on the server.  Setuptools doesn't know about inside vs
outside; it treats all Pylons dependencies identically.  You can get
around this with command-line options, but that would complicate the
howto or have to be built into the installer.
- Better installation for simplejson.  The C speedups are not useful
on the server, but it's hard to get Setuptools to not try to compile
it anyway, and to fail on some systems.
- Use pip.  This has a more enlightened installer, and it can zip and
unzip installed packages.  But given that you have to easy_install
pip, it would add a complication to the howto, which is especially
cumbersome to explain to new Python users.  And given that you never
install packages on the server anyway, perhaps it's easier to just use
easy_install.

But somebody else will have to do these.

-- 
Mike Orr <sluggos...@gmail.com>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pylons-discuss" group.
To post to this group, send email to pylons-discuss@googlegroups.com
To unsubscribe from this group, send email to 
pylons-discuss+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/pylons-discuss?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to