[Grok-dev] HEADS UP: Eggs!

Fernando Correa Neto fcdoth at gmail.com
Thu Jul 12 22:58:23 EDT 2007


Hey!

On 7/12/07, Philipp von Weitershausen <philipp at weitershausen.de> wrote:
> At EuroPython we've finally made Grok use the Zope3 eggs.  There are
> several implications for both developers *of* Grok and people who
> develop *with* Grok.
>
> Shared eggs location
> --------------------
>
> The most important change is obviously that Zope 3 will now be
> downloaded as eggs. LOTS of eggs. If you have multiple Grok projects,
> it will make a lot of sense to have a shared egg directory so that you
> won't have to download all those packages each time.  To configure
> buildout to store all eggs in a common directory, create a
> ~/.buildout/default file with the following contents::
>
>    [buildout]
>    eggs-directory = /Users/philipp/shared-eggs
>
> I am planning to add a switch to grokproject will allow you to specify
> a shared eggs directory without having to create such a file.

Sounds great!.

Caching eggs will speed up the bootstrap a lot and we will be able to
work even without a internet connection. Thus stressing less Pypi.

>
> The Grok trunk checkout
> -----------------------
>
> Developers who check out the Grok trunk simply can run bin/buildout
> like before (except that now, it will download Zope 3 eggs). To start
> up Zope, use the following command::
>
>    $ bin/instance fg
>
> (You no longer have to reach into parts/instance/bin.)
>
> Using grokproject for a new project
> -----------------------------------
>
> If you want to create new Grok projects from now on, it is essential
> that you use the newest version (0.4) of grokproject.  You may upgrade
> your installed grokproject with::
>
>    $ easy_install -U grokproject
>
> The new version of grokproject should also be more robust because it
> doesn't spawn any processes anymore. In particular, it might work on
> Windows now (haven't tested that yet, reports would be welcome).

Cool.

One hint. Developers with a Zope-3.3 inserted in PYTHONPATH
environment variable may experience errors like this:

Got zope.testing 3.4-r75911.
While:
  Installing.
  Getting section app.
  Initializing section app.
  Loading zc.buildout recipe entry zc.zope3recipes:app.

An internal error occured due to a bug in either zc.buildout or in a
recipe being used:

ImportError:
No module named schemaless

By unsetting the variable it should work.

Another thing that I've noticed during a grokproject invocation is
that it is reporting the steps twice in stdout. It's not causing any
problems but...check it out.

Invoking zc.buildout...
Not upgrading because not running a local buildout command.
Not upgrading because not running a local buildout command.
Develop: '/Users/fcorrea/kaboom/.'
Develop: '/Users/fcorrea/kaboom/.'
Getting distribution for 'zc.zope3recipes'.
Getting distribution for 'zc.zope3recipes'.
Got zc.zope3recipes 0.5.2.
Got zc.zope3recipes 0.5.2.
Getting distribution for 'ZConfig>=2.4a5'.
Getting distribution for 'ZConfig>=2.4a5'.
Got ZConfig 2.4a6.
Got ZConfig 2.4a6.
Getting distribution for 'zc.recipe.egg'.
Getting distribution for 'zc.recipe.egg'.
Got zc.recipe.egg 1.0.0b6.
Got zc.recipe.egg 1.0.0b6.
Getting distribution for 'zope.testing'.
Getting distribution for 'zope.testing'.
Got zope.testing 3.4-r75911.
Got zope.testing 3.4-r75911.

Anyway, this is a great peace of software. I will continue to test it
and report things.

Regards,
Fernando


More information about the Grok-dev mailing list