title: Build Dockerfile get error as Failed building wheel for pynacl
body: <p>I tried to build Dockerfile but got some error like this:</p>
  
  <p><strong>Failed building wheel for pynacl</strong></p>
  
  <p>This is my <code>setup.py</code> file look like</p>
  
  <pre><code>FROM python:3.6-alpine                                                          
  
  WORKDIR /app                                                                    
  
  COPY ./requirements.txt /app                                                    
  
  RUN apk --no-cache add shadow \                                                 
      gcc \                                                                       
      musl-dev \                                                                  
      postgresql-dev \                                                            
      python3-dev \                                                               
      freetype-dev \                                                              
      libffi-dev \                                                                
      tiff \                                                                      
      tiff-dev \                                                                  
      tk-dev \                                                                    
      tcl-dev \                                                                   
      postgresql \                                                                
      postgresql-dev \                                                            
      jpeg \                                                                      
      jpeg-dev \                                                                  
      zlib \                                                                      
      zlib-dev \                                                                  
      nodejs \                                                                    
      yarn \                                                                      
      &amp;&amp; addgroup -g 1000 -S www-data \                                           
      &amp;&amp; adduser -u 1000 -S -G www-data www-data \                                
      &amp;&amp; pip install --no-cache-dir --upgrade 'pip&lt;19.0' \                        
      &amp;&amp; pip install pynacl \                                                     
      &amp;&amp; pip install --no-cache-dir -r requirements.txt \                         
      &amp;&amp; apk del //\                                                              
          gcc \                                                                   
          musl-dev \                                                              
          tiff-dev \                                                              
          tcl-dev \                                                               
          jpeg-dev \                                                              
          zlib-dev \                                                              
          postgresql-dev \                                                        
      &amp;&amp; rm -rf /var/cache/apk/*                                                  
  
  RUN chown www-data:www-data .                                                   
  USER www-data                                                                   
  
  COPY --chown=www-data:www-data . /app
  </code></pre>
  
  <p>StackTrace:</p>
  
  <pre><code>Collecting pynacl
    Downloading https://files.pythonhosted.org/packages/61/ab/2ac6dea8489fa713e2b4c6c5b549cc962dd4a842b5998d9e80cf8440b7cd/PyNaCl-1.3.0.tar.gz (3.4MB)
    Installing build dependencies: started
    Installing build dependencies: finished with status 'done'
  Collecting six (from pynacl)
    Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl
  Collecting cffi&gt;=1.4.1 (from pynacl)
  Collecting pycparser (from cffi&gt;=1.4.1-&gt;pynacl)
  Building wheels for collected packages: pynacl
    Running setup.py bdist_wheel for pynacl: started
    Running setup.py bdist_wheel for pynacl: finished with status 'error'
    Complete output from command /usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-7r8c18od/pynacl/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" bdist_wheel -d /tmp/pip-wheel-qkz_jt0z --python-tag cp36:
    running bdist_wheel
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.6
    creating build/lib.linux-x86_64-3.6/nacl
    copying src/nacl/secret.py -&gt; build/lib.linux-x86_64-3.6/nacl
    copying src/nacl/public.py -&gt; build/lib.linux-x86_64-3.6/nacl
    copying src/nacl/utils.py -&gt; build/lib.linux-x86_64-3.6/nacl
    copying src/nacl/encoding.py -&gt; build/lib.linux-x86_64-3.6/nacl
    copying src/nacl/hash.py -&gt; build/lib.linux-x86_64-3.6/nacl
    copying src/nacl/hashlib.py -&gt; build/lib.linux-x86_64-3.6/nacl
    copying src/nacl/exceptions.py -&gt; build/lib.linux-x86_64-3.6/nacl
    copying src/nacl/__init__.py -&gt; build/lib.linux-x86_64-3.6/nacl
    copying src/nacl/signing.py -&gt; build/lib.linux-x86_64-3.6/nacl
    creating build/lib.linux-x86_64-3.6/nacl/pwhash
    copying src/nacl/pwhash/scrypt.py -&gt; build/lib.linux-x86_64-3.6/nacl/pwhash
    copying src/nacl/pwhash/_argon2.py -&gt; build/lib.linux-x86_64-3.6/nacl/pwhash
    copying src/nacl/pwhash/argon2id.py -&gt; build/lib.linux-x86_64-3.6/nacl/pwhash
    copying src/nacl/pwhash/__init__.py -&gt; build/lib.linux-x86_64-3.6/nacl/pwhash
    copying src/nacl/pwhash/argon2i.py -&gt; build/lib.linux-x86_64-3.6/nacl/pwhash
    creating build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/crypto_secretbox.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/crypto_box.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/crypto_secretstream.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/crypto_shorthash.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/utils.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/sodium_core.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/crypto_scalarmult.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/crypto_aead.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/crypto_kx.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/randombytes.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/crypto_sign.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/crypto_generichash.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/crypto_hash.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/__init__.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    copying src/nacl/bindings/crypto_pwhash.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
    running build_clib
    Traceback (most recent call last):
      File "&lt;string&gt;", line 1, in &lt;module&gt;
      File "/tmp/pip-install-7r8c18od/pynacl/setup.py", line 255, in &lt;module&gt;
        "Programming Language :: Python :: 3.7",
      File "/tmp/pip-build-env-ju2hmy_4/lib/python3.6/site-packages/setuptools/__init__.py", line 143, in setup
        return distutils.core.setup(**attrs)
      File "/usr/local/lib/python3.6/distutils/core.py", line 148, in setup
        dist.run_commands()
      File "/usr/local/lib/python3.6/distutils/dist.py", line 955, in run_commands
        self.run_command(cmd)
      File "/usr/local/lib/python3.6/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/tmp/pip-build-env-ju2hmy_4/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 188, in run
        self.run_command('build')
      File "/usr/local/lib/python3.6/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/local/lib/python3.6/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/usr/local/lib/python3.6/distutils/command/build.py", line 135, in run
        self.run_command(cmd_name)
      File "/usr/local/lib/python3.6/distutils/cmd.py", line 313, in run_command
        self.distribution.run_command(command)
      File "/usr/local/lib/python3.6/distutils/dist.py", line 974, in run_command
        cmd_obj.run()
      File "/tmp/pip-install-7r8c18od/pynacl/setup.py", line 159, in run
        raise Exception("ERROR: The 'make' utility is missing from PATH")
    Exception: ERROR: The 'make' utility is missing from PATH
  
    ----------------------------------------
    Failed building wheel for pynacl
    Running setup.py clean for pynacl
  Failed to build pynacl
  Installing collected packages: six, pycparser, cffi, pynacl
    Running setup.py install for pynacl: started
      Running setup.py install for pynacl: finished with status 'error'
      Complete output from command /usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-7r8c18od/pynacl/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-idro8sp8/install-record.txt --single-version-externally-managed --compile:
      running install
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-3.6
      creating build/lib.linux-x86_64-3.6/nacl
      copying src/nacl/secret.py -&gt; build/lib.linux-x86_64-3.6/nacl
      copying src/nacl/public.py -&gt; build/lib.linux-x86_64-3.6/nacl
      copying src/nacl/utils.py -&gt; build/lib.linux-x86_64-3.6/nacl
      copying src/nacl/encoding.py -&gt; build/lib.linux-x86_64-3.6/nacl
      copying src/nacl/hash.py -&gt; build/lib.linux-x86_64-3.6/nacl
      copying src/nacl/hashlib.py -&gt; build/lib.linux-x86_64-3.6/nacl
      copying src/nacl/exceptions.py -&gt; build/lib.linux-x86_64-3.6/nacl
      copying src/nacl/__init__.py -&gt; build/lib.linux-x86_64-3.6/nacl
      copying src/nacl/signing.py -&gt; build/lib.linux-x86_64-3.6/nacl
      creating build/lib.linux-x86_64-3.6/nacl/pwhash
      copying src/nacl/pwhash/scrypt.py -&gt; build/lib.linux-x86_64-3.6/nacl/pwhash
      copying src/nacl/pwhash/_argon2.py -&gt; build/lib.linux-x86_64-3.6/nacl/pwhash
      copying src/nacl/pwhash/argon2id.py -&gt; build/lib.linux-x86_64-3.6/nacl/pwhash
      copying src/nacl/pwhash/__init__.py -&gt; build/lib.linux-x86_64-3.6/nacl/pwhash
      copying src/nacl/pwhash/argon2i.py -&gt; build/lib.linux-x86_64-3.6/nacl/pwhash
      creating build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/crypto_secretbox.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/crypto_box.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/crypto_secretstream.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/crypto_shorthash.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/utils.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/sodium_core.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/crypto_scalarmult.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/crypto_aead.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/crypto_kx.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/randombytes.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/crypto_sign.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/crypto_generichash.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/crypto_hash.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/__init__.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      copying src/nacl/bindings/crypto_pwhash.py -&gt; build/lib.linux-x86_64-3.6/nacl/bindings
      running build_clib
      Traceback (most recent call last):
        File "&lt;string&gt;", line 1, in &lt;module&gt;
        File "/tmp/pip-install-7r8c18od/pynacl/setup.py", line 255, in &lt;module&gt;
          "Programming Language :: Python :: 3.7",
        File "/tmp/pip-build-env-ju2hmy_4/lib/python3.6/site-packages/setuptools/__init__.py", line 143, in setup
          return distutils.core.setup(**attrs)
        File "/usr/local/lib/python3.6/distutils/core.py", line 148, in setup
          dist.run_commands()
        File "/usr/local/lib/python3.6/distutils/dist.py", line 955, in run_commands
          self.run_command(cmd)
        File "/usr/local/lib/python3.6/distutils/dist.py", line 974, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-ju2hmy_4/lib/python3.6/site-packages/setuptools/command/install.py", line 61, in run
          return orig.install.run(self)
        File "/usr/local/lib/python3.6/distutils/command/install.py", line 545, in run
          self.run_command('build')
        File "/usr/local/lib/python3.6/distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/usr/local/lib/python3.6/distutils/dist.py", line 974, in run_command
          cmd_obj.run()
        File "/usr/local/lib/python3.6/distutils/command/build.py", line 135, in run
          self.run_command(cmd_name)
        File "/usr/local/lib/python3.6/distutils/cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "/usr/local/lib/python3.6/distutils/dist.py", line 974, in run_command
          cmd_obj.run()
        File "/tmp/pip-install-7r8c18od/pynacl/setup.py", line 159, in run
          raise Exception("ERROR: The 'make' utility is missing from PATH")
      Exception: ERROR: The 'make' utility is missing from PATH
  
      ----------------------------------------
  Command "/usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-install-7r8c18od/pynacl/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-record-idro8sp8/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-install-7r8c18od/pynacl/
  You are using pip version 18.1, however version 19.0.1 is available.
  You should consider upgrading via the 'pip install --upgrade pip' command.
  </code></pre>