On Thu, Oct 8, 2009 at 11:32 AM, Matt Feifarek <matt.feifa...@gmail.com> wrote:
> I'm not sure I'm up to that task (I use Pylons a lot, but kindof "tune-out"
> the parts about PasteDeply/Script, SetupTools, etc.

Even if you can just keep testing the process and adding advice to the
howto, that would be a big help.  What we need is somebody who
regularly uses Pylons on App Engine to maintain the howto.    A
corollary is that being a howto maintainer makes it easier to get your
own questions answered, because people will spend more time explaining
things to a documentor, knowing that he'll recycle some of the info
back to the entire community.

>> The egg-info directory contains package metadata.  These are necessary
>> because Paste uses various runtime services provided by Setuptools,
>> which depend on the metadata for package introspection and entry
>> points.
>
> Yes, I understand, but does GAE use Paste? I think my ignorance has bled
> over... I don't really get setuptools, but I also don't get how GAE is
> different. Or the same.

GAE is a Python runtime environment.  It runs whatever the top-level
script tells it to run.  Paste is a package of utilities which are
used by Pylons.  GAE does not use the "paster" command.  Instead you
have to instantiate the Pylons application manually, which is done by
the script referenced in app.yaml.  Start with that script and you'll
see how Pylons is started up, and follow the code into
myapp/config/middleware, etc.

Setuptools provides utilities for distributing, installing, and
introspecting packages.  These go beyond what Python itself provides.
There's an ongoing debate about how much of this functionality should
be pushed into the Python core.  And if it is, how much code should be
taken from Setuptools, pip, or an emerging Setuptools competitor
(whose name I forget).

> This leads to two questions:
> 1. Can we simply delete that stuff ? It would make it harder to manage the
> app going forward.

Can we delete what?

You found some modules which look like things I intended to delete
from the package but missed.  Google claims that GAE fully supports
Setuptools now, so none of the monkey code should be needed on the
server.  If it is, file GAE bugs.  Your workstation Python does not
need the monkey code because it's a regular Python environment.  The
GAE SDK tries to mimic the server environment by disabling features
not available on the server.

However, appengine-monkey and appengine-homedir also contain the
bootstrap code used to create an application.  That's what I made
appengine-homedir into, by deleting the monkey code.  And now it just
needs somebody to maintain it.

> 2. Can we keep it for local management with pip et al, but NOT send it to
> GAE when we update?

I'm not sure what "it" is.

> IE, does GAE use entry points?

Applications use entry points by calling 'pkg_resources' functions.
So applications running on the GAE server can use entry points.

>> The metadata has to go somewhere, and there are two standard locations
>> for it in Python.  easy_install does it one way, and pip does it the
>
> I guess that's the question: does it actually have to go somewhere? If I do
> "import simplejson" I don't need the egg-info, of course. Does Pylons use
> entrypoints a lot internally, or simple good-ole imports?

Ian says only the initial application loader (Paste Deploy) uses entry
points.  However, I have used Pylons in two environments that were
Setuptools-challenged: App Engine and py2exe.  Both raised exceptions
beyond that point due to 'pkg_resources.require()' calls.  So it's
safest to make sure that Setuptools and the egg-info directories are
uploaded to the server.

> Yes, I keep hearing about this Pype. It's starting to sound mythical and
> religious. I look forward to it solving all of our problems! ;-)

I think it's a great concept and I want to start trying out the code,
but first I have other tasks to finish.

-- 
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