title: How do I correct the following error when trying to install `matplotlib` : don't know how to compile Fortran code on platform 'nt'?
body: <h3>There are a lot of missing executables, the installer also says it is trying to compile ForTran code (people still write <em>ForTran</em> !??)</h3>
  
  <pre><code>Could not locate executable g77
  Could not locate executable f77
  Could not locate executable ifort
  Could not locate executable ifl
  Could not locate executable f90
  Could not locate executable DF
  Could not locate executable efl
  Could not locate executable gfortran
  Could not locate executable f95
  Could not locate executable g95
  Could not locate executable efort
  Could not locate executable efc
  Could not locate executable flang
  don't know how to compile Fortran code on platform 'nt'
  </code></pre>
  
  <h3>My system:</h3>
  
  <pre><code>         Operating System: Windows 10 Pro 64-bit (10.0, Build 18362) (18362.19h1_release.190318-1202)
                       BIOS: BIOS Date: 10/31/12 20:41:07 Ver: 36.02 (type: BIOS)
                  Processor: Intel(R) Core(TM) i5-2500K CPU @ 3.30GHz (4 CPUs), ~3.3GHz
                     Memory: 4096MB RAM
        Available OS Memory: 4064MB RAM
                  Page File: 14314MB used, 2036MB available
  </code></pre>
  
  <h3>The full error message is:</h3>
  
  <pre><code>C:\Users\Sam&gt;C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\python.exe -m pip install matplotlib --user
  Collecting matplotlib
    Downloading https://files.pythonhosted.org/packages/12/d1/7b12cd79c791348cb0c78ce6e7d16bd72992f13c9f1e8e43d2725a6d8adf/matplotlib-3.1.1.tar.gz (37.8MB)
       |████████████████████████████████| 37.8MB 6.4MB/s
      ERROR: Command errored out with exit status 1:
       command: 'C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\python.exe' -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\Sam\\AppData\\Local\\Temp\\pip-install-60hly6r_\\matplotlib\\setup.py'"'"'; __file__='"'"'C:\\Users\\Sam\\AppData\\Local\\Temp\\pip-install-60hly6r_\\matplotlib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base 'C:\Users\Sam\AppData\Local\Temp\pip-install-60hly6r_\matplotlib\pip-egg-info'
           cwd: C:\Users\Sam\AppData\Local\Temp\pip-install-60hly6r_\matplotlib\
      Complete output (205 lines):
      ================================================================================
      Edit setup.cfg to change the build options
  
      BUILDING MATPLOTLIB
        matplotlib: yes [3.1.1]
            python: yes [3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC
                        v.1916 32 bit (Intel)]]
          platform: yes [win32]
  
      OPTIONAL SUBPACKAGES
       sample_data: yes [installing]
             tests: no  [skipping due to configuration]
  
      OPTIONAL BACKEND EXTENSIONS
               agg: yes [installing]
             tkagg: yes [installing; run-time loading from Python Tcl/Tk]
            macosx: no  [Mac OS-X only]
  
      OPTIONAL PACKAGE DATA
              dlls: no  [skipping due to configuration]
  
      Could not locate executable g77
      Could not locate executable f77
      Could not locate executable ifort
      Could not locate executable ifl
      Could not locate executable f90
      Could not locate executable DF
      Could not locate executable efl
      Could not locate executable gfortran
      Could not locate executable f95
      Could not locate executable g95
      Could not locate executable efort
      Could not locate executable efc
      Could not locate executable flang
      don't know how to compile Fortran code on platform 'nt'
      'svnversion' is not recognized as an internal or external command,
      operable program or batch file.
      non-existing path in 'numpy\\distutils': 'site.cfg'
      Running from numpy source directory.
      C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\setup.py:418: UserWarning: Unrecognized setuptools command, proceeding with generating Cython sources and expanding templates
        run_build = parse_setuppy_commands()
      C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\numpy\distutils\system_info.py:690: UserWarning:
          Optimized (vendor) Blas libraries are not found.
          Falls back to netlib Blas library which has worse performance.
          A better performance should be easily gained by switching
          Blas library.
        self.calc_info()
      C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\numpy\distutils\system_info.py:690: UserWarning:
          Blas (http://www.netlib.org/blas/) libraries not found.
          Directories to search for the libraries can be specified in the
          numpy/distutils/site.cfg file (section [blas]) or by setting
          the BLAS environment variable.
        self.calc_info()
      C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\numpy\distutils\system_info.py:690: UserWarning:
          Blas (http://www.netlib.org/blas/) sources not found.
          Directories to search for the sources can be specified in the
          numpy/distutils/site.cfg file (section [blas_src]) or by setting
          the BLAS_SRC environment variable.
        self.calc_info()
      C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\numpy\distutils\system_info.py:1712: UserWarning:
          Lapack (http://www.netlib.org/lapack/) libraries not found.
          Directories to search for the libraries can be specified in the
          numpy/distutils/site.cfg file (section [lapack]) or by setting
          the LAPACK environment variable.
        if getattr(self, '_calc_info_{}'.format(lapack))():
      C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\numpy\distutils\system_info.py:1712: UserWarning:
          Lapack (http://www.netlib.org/lapack/) sources not found.
          Directories to search for the sources can be specified in the
          numpy/distutils/site.cfg file (section [lapack_src]) or by setting
          the LAPACK_SRC environment variable.
        if getattr(self, '_calc_info_{}'.format(lapack))():
      C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\distutils\dist.py:274: UserWarning: Unknown distribution option: 'define_macros'
        warnings.warn(msg)
      Traceback (most recent call last):
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\msvc.py", line 489, in _find_latest_available_vc_ver
          return self.find_available_vc_vers()[-1]
      IndexError: list index out of range
  
      During handling of the above exception, another exception occurred:
  
      Traceback (most recent call last):
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\distutils\core.py", line 148, in setup
          dist.run_commands()
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\distutils\dist.py", line 966, in run_commands
          self.run_command(cmd)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\distutils\dist.py", line 985, in run_command
          cmd_obj.run()
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\command\bdist_egg.py", line 163, in run
          self.run_command("egg_info")
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\distutils\cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\distutils\dist.py", line 985, in run_command
          cmd_obj.run()
        File "C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\numpy\distutils\command\egg_info.py", line 26, in run
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\distutils\cmd.py", line 313, in run_command
          self.distribution.run_command(command)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\distutils\dist.py", line 985, in run_command
          cmd_obj.run()
        File "C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\numpy\distutils\command\build_src.py", line 142, in run
        File "C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\numpy\distutils\command\build_src.py", line 153, in build_sources
        File "C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\numpy\distutils\command\build_src.py", line 286, in build_library_sources
        File "C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\numpy\distutils\command\build_src.py", line 369, in generate_sources
        File "numpy\core\setup.py", line 667, in get_mathlib_info
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\distutils\command\config.py", line 241, in try_link
          self._check_compiler()
        File "C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\numpy\distutils\command\config.py", line 54, in _check_compiler
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\distutils\_msvccompiler.py", line 253, in initialize
          vc_env = _get_vc_env(plat_spec)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\msvc.py", line 185, in msvc14_get_vc_env
          return EnvironmentInfo(plat_spec, vc_min_ver=14.0).return_env()
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\msvc.py", line 843, in __init__
          self.si = SystemInfo(self.ri, vc_ver)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\msvc.py", line 485, in __init__
          self.vc_ver = vc_ver or self._find_latest_available_vc_ver()
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\msvc.py", line 492, in _find_latest_available_vc_ver
          raise distutils.errors.DistutilsPlatformError(err)
      distutils.errors.DistutilsPlatformError: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/
  
      During handling of the above exception, another exception occurred:
  
      Traceback (most recent call last):
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 154, in save_modules
          yield saved
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 195, in setup_context
          yield
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 250, in run_setup
          _execfile(setup_script, ns)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 45, in _execfile
          exec(code, globals, locals)
        File "C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\setup.py", line 443, in &lt;module&gt;
        File "C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\setup.py", line 435, in setup_package
        File "C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\numpy\distutils\core.py", line 171, in setup
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\__init__.py", line 145, in setup
          return distutils.core.setup(**attrs)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\distutils\core.py", line 163, in setup
          raise SystemExit("error: " + str(msg))
      SystemExit: error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/
  
      During handling of the above exception, another exception occurred:
  
      Traceback (most recent call last):
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\command\easy_install.py", line 1144, in run_setup
          run_setup(setup_script, args)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 253, in run_setup
          raise
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\contextlib.py", line 131, in __exit__
          self.gen.throw(type, value, traceback)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 195, in setup_context
          yield
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\contextlib.py", line 131, in __exit__
          self.gen.throw(type, value, traceback)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 166, in save_modules
          saved_exc.resume()
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 141, in resume
          six.reraise(type, exc, self._tb)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\_vendor\six.py", line 685, in reraise
          raise value.with_traceback(tb)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 154, in save_modules
          yield saved
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 195, in setup_context
          yield
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 250, in run_setup
          _execfile(setup_script, ns)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\sandbox.py", line 45, in _execfile
          exec(code, globals, locals)
        File "C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\setup.py", line 443, in &lt;module&gt;
        File "C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\setup.py", line 435, in setup_package
        File "C:\Users\Sam\AppData\Local\Temp\easy_install-vhwz71px\numpy-1.17.3\numpy\distutils\core.py", line 171, in setup
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\__init__.py", line 145, in setup
          return distutils.core.setup(**attrs)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\distutils\core.py", line 163, in setup
          raise SystemExit("error: " + str(msg))
      SystemExit: error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/
  
      During handling of the above exception, another exception occurred:
  
      Traceback (most recent call last):
        File "&lt;string&gt;", line 1, in &lt;module&gt;
        File "C:\Users\Sam\AppData\Local\Temp\pip-install-60hly6r_\matplotlib\setup.py", line 262, in &lt;module&gt;
          setup(
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\__init__.py", line 144, in setup
          _install_setup_requires(attrs)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\__init__.py", line 139, in _install_setup_requires
          dist.fetch_build_eggs(dist.setup_requires)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\dist.py", line 716, in fetch_build_eggs
          resolved_dists = pkg_resources.working_set.resolve(
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pkg_resources\__init__.py", line 780, in resolve
          dist = best[req.key] = env.best_match(
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pkg_resources\__init__.py", line 1065, in best_match
          return self.obtain(req, installer)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pkg_resources\__init__.py", line 1077, in obtain
          return installer(requirement)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\dist.py", line 786, in fetch_build_egg
          return cmd.easy_install(req)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\command\easy_install.py", line 679, in easy_install
          return self.install_item(spec, dist.location, tmpdir, deps)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\command\easy_install.py", line 705, in install_item
          dists = self.install_eggs(spec, download, tmpdir)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\command\easy_install.py", line 890, in install_eggs
          return self.build_and_install(setup_script, setup_base)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\command\easy_install.py", line 1158, in build_and_install
          self.run_setup(setup_script, setup_base, args)
        File "C:\Users\Sam\AppData\Local\Programs\Python\Python38-32\lib\site-packages\setuptools\command\easy_install.py", line 1146, in run_setup
          raise DistutilsError("Setup script exited with %s" % (v.args[0],))
      distutils.errors.DistutilsError: Setup script exited with error: Microsoft Visual C++ 14.0 is required. Get it with "Microsoft Visual C++ Build Tools": https://visualstudio.microsoft.com/downloads/
      ----------------------------------------
  ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
  </code></pre>
  
  <p>Stack overflow says, "It looks like your post is mostly code; please add some more details." So, I'm forced to write this little bit of text at the end here; sorry. </p>