I want to be able to manage an egg cache to be used in a local installation workflow: download the package and build the eggs in a defined directory.
E.g. Like what Buildout does for you?
Haven't looked at this. Will do, thank you.
I first download the package using the documented approach of getting the packages built into eggs in a directory:
easy_install -zmaxd [my_dir]
I would expect to have zipped eggs at the "my_dir" destination.
my_dir is not the destination it's the requirement_or_url e.g. Something with a setup.py in it.
Sorry, my usage was not complete. If you do: $ mkdir tmp $ easy_install -zmaxd tmp/ pyramid All the packages and dependencies of pyramid will be downloaded locally in the tmp/ directory. As per: http://packages.python.org/distribute/easy_install.html#installing-on-un-net...
This works as expected only if I start from a clean virtualenv.
If the environment is already populated (or installed) with the package I want to cache, it is this package (from site-packages) that is taken to my cache directory, not the zipped egg (I presume because the package is not zip safe).
Is there a way around this behaviour?
I don't fully understand, but I expect this may be normal given the contraints above (i.e. easy_install does not understand what you intend by specifying "my_dir" AFAICT).
For my specific pyramid example above, if the virtualenv I start from is empty, the pyramid and dependencies eggs are put and built in the tmp/ dir. Otherwise, if the environment has pyramid installed, the eggs are unzipped (as they are when installed) in the tmp/ directory.