title: python setuptools install_requires is ignored when overriding cmdclass
body: <p>I have a <code>setup.py</code> that looks like this:</p>
  
  <pre><code>from setuptools import setup
  from subprocess import call
  from setuptools.command.install import install
  
  class MyInstall(install):
      def run(self):
          call(["pip install -r requirements.txt --no-clean"], shell=True)
          install.run(self)
  
  setup(
      author='Attila Zseder',
      version='0.1',
      name='entity_extractor',
      packages=['...'],
      install_requires=['DAWG', 'mrjob', 'cchardet'],
      package_dir={'': 'modules'},
      scripts=['...'],
      cmdclass={'install': MyInstall},
  )
  </code></pre>
  
  <p>I need <code>MyInstall</code> because I want to install some libraries from github and I didn't want to use <code>dependency_links</code> option, because it's discouraged (for example <a href="https://groups.google.com/forum/#!topic/pypa-dev/tJ6HHPQpyJ4" rel="noreferrer">here</a>), so I can do this with requirements.txt. </p>
  
  <p>When I install this package with <code>pip</code>, everything is working fine, but for some reasons I have to solve this in a way that it also works with pure <code>python setup.py install</code>. And it doesn't.</p>
  
  <p>When overriding <code>cmdclass</code> in <code>setup()</code> with my own class, <code>install_requires</code> seems to be ignored. As soon as I comment out that line, those packages are being installed. </p>
  
  <p>I know that install_requires is not supported for example in distutils (if I remember well), but it is in setuptools. And then <code>cmdclass</code> wouldn't have any effect on <code>install_requires</code>.</p>
  
  <p>I googled this problem for hours, found a lot of kind of related answers on stackoverflow, but not for this particular problem.</p>
  
  <p>With putting every needed package to requirements.txt, everything's working fine, but I would like to understand why this is happening. Thanks!</p>