Message from discussion Pylons on Google App Engine article
Received: by 10.204.1.141 with SMTP id 13mr83766bkf.9.1255797631693;
Sat, 17 Oct 2009 09:40:31 -0700 (PDT)
Received: by 10.204.1.141 with SMTP id 13mr83765bkf.9.1255797631657;
Sat, 17 Oct 2009 09:40:31 -0700 (PDT)
Received: from mail-fx0-f216.google.com (mail-fx0-f216.google.com [126.96.36.199])
by gmr-mx.google.com with ESMTP id 15si374367fxm.1.2009.10.17.09.40.30;
Sat, 17 Oct 2009 09:40:30 -0700 (PDT)
Received-SPF: pass (google.com: domain of ianbick...@gmail.com designates 188.8.131.52 as permitted sender) client-ip=184.108.40.206;
Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of ianbick...@gmail.com designates 220.127.116.11 as permitted sender) smtp.mail=ianbick...@gmail.com; dkim=pass (test mode) header...@gmail.com
Received: by fxm12 with SMTP id 12so3680975fxm.5
for <firstname.lastname@example.org>; Sat, 17 Oct 2009 09:40:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
DomainKey-Signature: a=rsa-sha1; c=nofws;
Received: by 10.204.34.20 with SMTP id j20mr2624771bkd.57.1255797630433; Sat,
17 Oct 2009 09:40:30 -0700 (PDT)
From: Ian Bicking <i...@colorstudy.com>
Date: Sat, 17 Oct 2009 11:40:09 -0500
Subject: Re: Pylons on Google App Engine article
Content-Type: text/plain; charset=UTF-8
On Fri, Oct 16, 2009 at 5:57 PM, Matt Feifarek <matt.feifa...@gmail.com> wr=
>> I don't use paster serve, and wouldn't recommend it. =C2=A0You can/shoul=
>> use paste.deploy.loadapp('development.ini') in your main.py or
>> runner.py or whatever script, and then use dev_appserver.
> Would you mind expanding on that a little bit? Why don't you recommend it=
On GAE specifically, dev_appserver does all the fixups and security
restrictions to make it a mostly representative environment. So you
should just use dev_appserver.
>> Generally, I'll note one advantage to GAE that you should make use of:
>> once a set of libraries is working, everything to make them work is in
>> a set of portable files (.py files and directories and whatnot).
>> After installing I check *all* the files into version control.
> Cool. Good concept. But it seems like once you do something like that (or
> like moving your libraries into the GAE "app") you can't manage the
> virtualenv install anymore (like adding new distributions with pip). I
> suppose one can always manually add them.
pip install works with appengine-homedir. A couple things are
installed outside of the app/ directory, but once it's setup there's a
file in lib/python2.5/distutils/distutils.cfg that makes everything
install into app/lib/python.
When I update a library or install something new, I just run another
>> is one attempt to get installation working reasonably. =C2=A0The intent =
>> appengine-homedir is also that you check app/ into version control
>> (but not the enclosing virtualenv environment). =C2=A0It would be kind o=
>> nice if app/ had some script included to recreate the enclosing
>> virtualenv environment.
> It *seemed* to me that once appengine-homedir got running, the VE is
> basically moot; you no longer run the devappserver from it, right? Since
> your runner.py script does all of the sys.path manipulations, there's no
> point in keeping the VE bin and lib and what-not around, especially if yo=
> don't recommend using paster serve.
I recommend the venv for running python interactively, running tests,
and installing things.
>> that way). =C2=A0Also I mostly got rid of configuration, as GAE apps are=
>> generally "configured" (due to the static nature of the deployment).
>> But that broke paster controller and paster shell (though with what
>> sitecustomize does paster shell isn't as necessary). =C2=A0Restoring
>> development.ini, or allowing it as an option, would be easy enough to
> Why isn't paster shell necessary? Seems like sitecustomize.py is mostly
> about fixing imports and shim'ing things into sys.path.
It also sets up the data store, so you can access and use your models.
It doesn't set up the entire configuration of your app, but the most
important configuration is generally persistence, which sitecustomize
handles. And maybe it could even handle more if it was useful to do
Ian Bicking | http://blog.ianbicking.org | http://topplabs.org/civichac=