[IPython-dev] Distribution via "Easy Install"?

Robert Kern robert.kern at gmail.com
Thu Dec 22 21:09:23 CST 2005

Fernando Perez wrote:
> Robert Kern wrote:
>>Fernando Perez wrote:
>>>Robert Kern wrote:
>>>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 
>>>preferred mechanism.
>>Since ipython is pure Python, yes, providing an egg in addition to the source
>>tarball would be great. It won't have the documentation, though, unless if it is
>>included as package_data.
> Mmh, this would force me to jump to py2.4, it seems:
> abdul[distutils]> grep package_data /usr/lib/python2.3/distutils/*.py
> abdul[distutils]> grep package_data /usr/lib/python2.4/distutils/*.py
> /usr/lib/python2.4/distutils/dist.py:        self.package_data = {}
> otherwise the package_data keyword will bork 2.2-2.3 installs.  I guess I can 
> build the dict of options dynamically, and then call
> setup(**args)
> instead.  Ugly, but it will do the job.  Is it worth it?  What else does it 
> buy us?

setuptools backports package_data to 2.3 as well. Since eggs and setuptools only
work with 2.3+, you would only be building eggs for 2.3 and 2.4 in any case.

Actually, all package_data is is a convenient shortcut for what you do with
UserConfig/ already. You could just do that if you really want to package the
documentation inside the egg.

>>A link to http://ipython.scipy.org/dist/ is sufficient. easy_install can
>>screenscrape that page just fine. In fact, this works right now:
>>[src]$ easy_install -f http://ipython.scipy.org/dist ipython
> [...]
> nice.  How is that link provided to setuptools?  Is it just a matter of 
> passing in the download_url keyword to the normal setup() call, or does 
> setuptools need the info elsewhere?
> I guess what I'm asking is: given that easy_install in your example already 
> works, how much exactly should I do to provide 'good citizen' egg support? 
> Would the following be enough?
> 1. Adding download_url='http://ipython.scipy.org/dist' to setup.py.
> 2. Installing setuptools on my system, so that I can build an egg and put it 
> up at /dist/ when new releases are made.

Yes. Anything else might be slightly more convenient, but probably not worth
your time.

Robert Kern
robert.kern at gmail.com

"In the fields of hell where the grass grows high
 Are the graves of dreams allowed to die."
  -- Richard Harter

More information about the IPython-dev mailing list