[Distutils] bundling packages with setuptools?

Ian Bicking ianb at colorstudy.com
Mon Jan 16 18:47:44 CET 2006


Kevin Dangoor wrote:
> (readding distutils-sig which I accidentally dropped)
> 
> On 1/16/06, Christopher Fonnesbeck <chris at trichech.us> wrote:
> 
>>On Jan 16, 2006, at 11:54 AM, Kevin Dangoor wrote:
>>
>>
>>>Yes. This is something setuptools does quite admirably. This is in the
>>>setup.py for TurboGears:
>>>
>>>    install_requires = ["TurboKid >= 0.9.0",
>>>        "CherryPy > 2.1.1",
>>>        "SQLObject >= 0.7.1dev_r1457", "simplejson >= 1.1",
>>>        "elementtree >= 1.2.6", "PasteScript >= 0.4.1",
>>>        "cElementTree >= 1.0.2", "FormEncode >= 0.4",
>>>        "setuptools >= 0.6a8",
>>>        "RuleDispatch"],
>>>
>>>Running easy_install on the TurboGears package will go and fetch all
>>>of those pre-requisites.
>>>
>>>So, easy_install is the installer, and your egg includes the metadata
>>>about which packages it needs.
>>
>>This is what I was hoping. What about URLs? The packages dont have to
>>be in the cheese shop, do they?
> 
> 
> Nope. TurboGears uses some packages that aren't in the Cheeseshop. You
> can use the -f/--find-links option to tell easy_install where to look.
> You can see the TurboGears installation instructions to see the full
> process:
> 
> http://www.turbogears.org/download/index.html
> 
> Generally, pretty easy. If you have all of the eggs available on your
> local machine, you can also have setuptools run with those eggs.

You can also put the links on your Cheese Shop page (in the 
long_description).  If you do that, you should also add the links to 
setup.cfg, like:

   [easy_install]
   find_links = ...

The combination of these two I think is sufficient to get the package 
and dependencies installed both with easy_install and python setup.py 
install/develop.

-- 
Ian Bicking  /  ianb at colorstudy.com  /  http://blog.ianbicking.org


More information about the Distutils-SIG mailing list