title: How to specify dependencies when creating the setup.py file for a python package
body: <p>The python doc for "Writing the Setupscript (<a href="http://docs.python.org/2/distutils/setupscript.html" rel="noreferrer">http://docs.python.org/2/distutils/setupscript.html</a>) mentions that dependencies can be specified under section</p>
  
  <blockquote>
    <p><strong>>  2.4. Relationships between Distributions and Packages</strong></p>
    
    <p>[...] These relationships can be specified using keyword arguments to
    the distutils.core.setup() function.</p>
    
    <p>Dependencies on other Python modules and packages can be specified by
    supplying the requires keyword argument to setup(). The value must be
    a list of strings. Each string specifies a package that is required,
    and optionally what versions are sufficient.</p>
    
    <p>To specify that any version of a module or package is required, the
    string should consist entirely of the module or package name. Examples
    include 'mymodule' and 'xml.parsers.expat'.</p>
    
    <p>[...]</p>
  </blockquote>
  
  <p>Given this rather sparse information without an example I just want to make sure that I do it right. Also, I cannot find this <code>requires</code> parameter in the API description <a href="http://docs.python.org/2/distutils/apiref.html#distutils.core.setup" rel="noreferrer">http://docs.python.org/2/distutils/apiref.html#distutils.core.setup</a></p>
  
  <p>So is it done like this,e.g., </p>
  
  <pre><code>setup(name='MyStuff',
        version='1.0',
        requires='os, sys, progressbar',
        [...]
  </code></pre>
  
  <p>I hope some one can give me a little bit more insight! Thanks!</p>
  
  <p>EDIT:</p>
  
  <p>To address the distutils.core, setuptools controversy, one could simply do </p>
  
  <pre><code>try:
      from setuptools import setup
  except ImportError:
      from distutils.core import setup
  </code></pre>
  
  <p>Does it make sense?</p>