title: In a setup.py involving Cython, if install_requires, then how can from library import something?
body: <p>This doesn't make sense to me. How can I use the setup.py to install Cython and then also use the setup.py to compile a library proxy?</p>
  
  <pre><code>import sys, imp, os, glob
  from setuptools import setup
  from Cython.Build import cythonize # this isn't installed yet
  
  setup(
      name='mylib',
      version='1.0',
      package_dir={'mylib': 'mylib', 'mylib.tests': 'tests'},
      packages=['mylib', 'mylib.tests'],
      ext_modules = cythonize("mylib_proxy.pyx"), #how can we call cythonize here?
      install_requires=['cython'],
      test_suite='tests',
  )
  </code></pre>
  
  <p>Later:
  python setup.py build</p>
  
  <pre><code>Traceback (most recent call last):
    File "setup.py", line 3, in &lt;module&gt;
      from Cython.Build import cythonize
  ImportError: No module named Cython.Build
  </code></pre>
  
  <p>It's because cython isn't installed yet.</p>
  
  <p>What's odd is that a great many projects are written this way.  A quick github search reveals as much: <a href="https://github.com/search?utf8=%E2%9C%93&amp;q=install_requires+cython&amp;type=Code" rel="noreferrer">https://github.com/search?utf8=%E2%9C%93&amp;q=install_requires+cython&amp;type=Code</a></p>