title: Installing numpy before using numpy.distutils.core.setup
body: <p>I am using <code>numpy.distutils</code> to setup a package (mypackage) that has a frotran module. The problem is that if I do <code>pip install mypackage</code> on an environment that does not have numpy, I get the following error:</p>
  
  <blockquote>
    <p>ModuleNotFoundError: No module named 'numpy'</p>
  </blockquote>
  
  <p>The easy solution is to ask users (if I manage to have any) to <code>pip install numpy</code> before they install my package, but I do not think this is a very <em>elegant</em> solution.</p>
  
  <p>I came up with the idea of calling <code>setuptools.setup</code> with only <code>setup_requires=['numpy']</code> before I import numpy and it seems to work well. This is my <code>setup.py</code>:</p>
  
  <pre><code>import setuptools
  
  setuptools.setup(
      setup_requires=[
          'numpy'
      ],)
  
  from numpy.distutils.core import setup, Extension
  
  mod = Extension(name='mypackage.amodule', sources=['source/a.f90'])
  
  setup(name='mypackage',
        packages=['mypackage'],
        ext_modules=[mod],)
  </code></pre>
  
  <p>I honestly don't fully understand what it implies to call an empty <code>setup()</code> (no name, no package). <strong>Is this a good solution? Is this somehow a bad practice?</strong> </p>