Skip to content

Zope Eggs

PyCon 2006 Zope 3 Sprint

For the purposes of this page, md is used instead of mkdir.

Eggs Task Notes

Zope Ovulation

Phase 1: Manual installation of eggs

  • load parts of Zope from manually placed eggs — works as expected, so long as you specify the PYTHONPATH both when installing the eggs and running z3.py

PYTHONPATH=eggs easy_install -d eggs/ ~/basket/zope_interface-3.0-py2.4-linux-i686.egg

Phase 2: Download of eggs from the network

  • create a setup.cfg which contains the following

[install]

install_lib = ~/Projects/zhuevos/eggs

install_scripts = ~/Projects/zhuevos/eggs

  • from within your Zope3 (huevos-rancheros-branch) checkout, do the following:

   $ md eggs

   $ PYTHONPATH=eggs python ez_setup.py

  • if you already have setuptools installed on your machine, you may need to do:

   $ md eggs

   $ PYTHONPATH=eggs python ez_setup.py -U setuptools

  • install the eggs:

   $ PYTHONPATH=eggs eggs/easy_install -f http://yergler.net/basket zope_i18nmessageid

   $ PYTHONPATH=eggs eggs/easy_install -f http://yergler.net/basket zope_interface

  • you can the run z3.py, specifying PYTHONPATH=eggs

Phase 2 (alternate approach)

  • from within your Zope3 (huevos-rancheros-branch) checkout, do the following:

   $ md eggs

   $ PYTHONPATH=eggs python ez_setup.py --install-dir ./eggs setuptools

  • if you already have setuptools installed on your machine, you may need to do:

   $ md eggs

   $ PYTHONPATH=eggs python ez_setup.py -U setuptools

  • install the eggs:

   $ PYTHONPATH=eggs eggs/easy_install -f http://yergler.net/basket --install-dir ./eggs zope_i18nmessageid

   $ PYTHONPATH=eggs eggs/easy_install -f http://yergler.net/basket --install-dir ./eggs zope_interface

  • you can the run z3.py, specifying PYTHONPATH=eggs

Phase 3: Handling eggs in the Makefile

  • perhaps an over-arching zope “meta-egg” which simply depends on everything else we want (even specific versions for a release?)

Phase 4: Loading ZCML from eggs

Projectification & Oogenesis

  • create separate projects in svn for individual modules (zope.i18nmessageid, etc)
  • replace the modules in the trunk with svn:externals
  • curse because svn:externals are half baked
  • create setup.py for the new projects with the ability to create eggs
  • release (need to eggify deps as well)
  • make eggs initially not zip safe
  • convert places where we use file to use pkg resource APIs

  • then finish pkg_resource work
  • convert Make file to use easy_install

** easy install stuff **

Links

Comment Feed

No Responses (yet)



Some HTML is OK

or, reply to this post via trackback.