[IPython-dev] Distribution via "Easy Install"?
Fernando.Perez at colorado.edu
Thu Dec 22 14:42:35 CST 2005
as usual, thanks for the useful, detailed reply.
Robert Kern wrote:
> Ville Vainio wrote:
>>Anyone looked into distributing IPython via easy-install mechanism yet?
> To consolidate replies to a few messages:
> * ipython builds as an egg just fine out-of-box. It is not zip-safe since it
> uses a few __file__ thingies, but that's okay. easy_install correctly unpacks
> the egg. You can build ipython as an egg without changing the source:
> $ python -c "import setuptools; execfile('setup.py')" bdist_egg
> Of course, easy_install will do this for you.
This is for _building_ an egg, right? Should I distribute the .egg in this
manner as well at ipython/dist? I'm perfectly happy installing setuptools and
adding the above to my release script, but I don't know if that's the
> * I'm not entirely sure what needs to happen with the post-install script on
> Windows. Possibly make it a module in the IPython package so that one could do
> In : from IPython.win32_post_install import run
> In : run()
This would be easy: I leave it out for cleanliness, but it's not really a big
deal if there is a significant win.
> manual.pdf might have to be made package_data in that case, though.
> * The /usr/bin/ipython contents that Ville posted is automatically generated by
> easy_install (the actual scripts live inside the egg; the scripts installed to
> /usr/whatever/bin are bootstraps to load and run those scripts), so Fernando
> doesn't need to worry about wrapping anything with try: except: blocks.
Do you mean that we shouldn't add 'import egg_stuff' _anywhere_ in the ipython
code, or do you refer only to the scripts? If the latter, which components do
still require egg yolks in them?
> * I think the only thing that really needs to happen now is that the PyPI record
> needs a link to the actual download location or the tarballs could be uploaded
> to PyPI itself.
I can do that, as I already register. Should this be a link to the actual raw
> * However, setuptools and pkg_resources (the module that handles the resource
> location and extraction from zipped eggs; included with setuptools) are fairly
> stable and useful. easy_install is possibly still problematic for non-root UNIX
> installs, but I think even that is probably okay now if you ignore the
> ez_setup.py bootstrap. In any case, setuptools and pkg_resources can be used to
> good effect without thrusting easy_install's problems on anyone. Using recent
> (last week or so) setuptools, one can now install setuptoolized packages as
> regular packages with the egg metadata alongside rather than full eggs:
> $ python setup.py install --single-version-externally-managed
Thanks again. With some guidance from those who know eggs better, I'll be
happy to add the relevant support.
More information about the IPython-dev