title: Trying to install GDAL - Python 3.9.9 - Pip - Windows 10
body: <p>I'm trying to install gdal library with <code>pip install gdal</code></p>
  <p>I'm using:</p>
  <ul>
  <li>python 3.9.9</li>
  <li>Windows 10</li>
  </ul>
  <p>But i'm having this error :</p>
  <blockquote>
  <p>C:\Users\Thomas&gt;pip install gdal
  Collecting gdal<br />
  Using cached
  GDAL-3.4.1.tar.gz (755 kB)   Preparing metadata (setup.py) ... done
  Building wheels for collected packages: gdal   Building wheel for gdal
  (setup.py) ... error   ERROR: Command errored out with exit status 1:
  command:
  'C:\Users\Thomas\AppData\Local\Programs\Python\Python310\python.exe'
  -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '&quot;'&quot;'C:\Users\Thomas\AppData\Local\Temp\pip-install-a6f2h5t3\gdal_bda2b7753d014f62ac5710c803768ff3\setup.py'&quot;'&quot;';
  <strong>file</strong>='&quot;'&quot;'C:\Users\Thomas\AppData\Local\Temp\pip-install-a6f2h5t3\gdal_bda2b7753d014f62ac5710c803768ff3\setup.py'&quot;'&quot;';f
  = getattr(tokenize, '&quot;'&quot;'open'&quot;'&quot;', open)(<strong>file</strong>) if os.path.exists(<strong>file</strong>) else io.StringIO('&quot;'&quot;'from setuptools import
  setup; setup()'&quot;'&quot;');code = f.read().replace('&quot;'&quot;'\r\n'&quot;'&quot;',
  '&quot;'&quot;'\n'&quot;'&quot;');f.close();exec(compile(code, <strong>file</strong>, '&quot;'&quot;'exec'&quot;'&quot;'))'
  bdist_wheel -d 'C:\Users\Thomas\AppData\Local\Temp\pip-wheel-hfvfe4bv'
  cwd: C:\Users\Thomas\AppData\Local\Temp\pip-install-a6f2h5t3\gdal_bda2b7753d014f62ac5710c803768ff3<br />
  Complete output (118 lines):   running bdist_wheel   running build<br />
  running build_py   creating build   creating build\lib.win-amd64-3.10
  creating build\lib.win-amd64-3.10\osgeo   copying osgeo\gdal.py -&gt;
  build\lib.win-amd64-3.10\osgeo   copying osgeo\gdalconst.py -&gt;
  build\lib.win-amd64-3.10\osgeo   copying osgeo\gdalnumeric.py -&gt;
  build\lib.win-amd64-3.10\osgeo   copying osgeo\gdal_array.py -&gt;
  build\lib.win-amd64-3.10\osgeo   copying osgeo\gnm.py -&gt;
  build\lib.win-amd64-3.10\osgeo   copying osgeo\ogr.py -&gt;
  build\lib.win-amd64-3.10\osgeo   copying osgeo\osr.py -&gt;
  build\lib.win-amd64-3.10\osgeo   copying osgeo\utils.py -&gt;
  build\lib.win-amd64-3.10\osgeo   copying osgeo_<em>init</em>_.py -&gt;
  build\lib.win-amd64-3.10\osgeo   creating
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\gdal2tiles.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\gdal2xyz.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\gdalattachpct.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\gdalcompare.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\gdalmove.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\gdal_calc.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\gdal_edit.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\gdal_fillnodata.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\gdal_merge.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\gdal_pansharpen.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\gdal_polygonize.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\gdal_proximity.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\gdal_retile.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\gdal_sieve.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\ogrmerge.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\pct2rgb.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils\rgb2pct.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   copying
  gdal-utils\osgeo_utils_<em>init</em>_.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils   creating
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   copying
  gdal-utils\osgeo_utils\auxiliary\array_util.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   copying
  gdal-utils\osgeo_utils\auxiliary\base.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   copying
  gdal-utils\osgeo_utils\auxiliary\batch_creator.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   copying
  gdal-utils\osgeo_utils\auxiliary\color_palette.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   copying
  gdal-utils\osgeo_utils\auxiliary\color_table.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   copying
  gdal-utils\osgeo_utils\auxiliary\extent_util.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   copying
  gdal-utils\osgeo_utils\auxiliary\gdal_argparse.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   copying
  gdal-utils\osgeo_utils\auxiliary\numpy_util.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   copying
  gdal-utils\osgeo_utils\auxiliary\osr_util.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   copying
  gdal-utils\osgeo_utils\auxiliary\progress.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   copying
  gdal-utils\osgeo_utils\auxiliary\raster_creation.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   copying
  gdal-utils\osgeo_utils\auxiliary\rectangle.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   copying
  gdal-utils\osgeo_utils\auxiliary\util.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   copying
  gdal-utils\osgeo_utils\auxiliary_<em>init</em>_.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\auxiliary   creating
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\assemblepoly.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\build_jp2_from_xml.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\classify.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\crs2crs2grid.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\densify.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\dump_jp2.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\epsg_tr.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\esri2wkt.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\fft.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\fix_gpkg.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gcps2ogr.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gcps2vec.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gcps2wld.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdal2grd.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdalchksum.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdalcopyproj.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdalfilter.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdalident.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdalimport.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdalinfo.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdallocationinfo.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdal_auth.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdal_cp.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdal_create_pdf.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdal_ls.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdal_lut.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdal_mkdir.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdal_remove_towgs84.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdal_rm.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdal_rmdir.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdal_vrtmerge.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\gdal_zip.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\get_soundg.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\histrep.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\hsv_merge.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\jpeg_in_tiff_extract.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\load2odbc.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\loslas2ntv2.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\magphase.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\make_fuzzer_friendly_archive.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\mkgraticule.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\ogr2ogr.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\ogr2vrt.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\ogrinfo.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\ogrupdate.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\ogr_build_junction_table.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\ogr_dispatch.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\ogr_layer_algebra.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\rel.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\tigerpoly.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\tile_extent_from_raster.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\tolatlong.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\validate_cloud_optimized_geotiff.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\validate_gpkg.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\validate_jp2.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\val_repl.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\vec_tr.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\vec_tr_spat.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples\wcs_virtds_params.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   copying
  gdal-utils\osgeo_utils\samples_<em>init</em>_.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples   running build_ext<br />
  building 'osgeo._gdal' extension   building 'osgeo._ogr' extension<br />
  building 'osgeo.<em>osr' extension   building 'osgeo.<em>gdalconst'
  extension   building 'osgeo.<em>gdal_array' extension   building
  'osgeo.<em>gnm' extension   error: Microsoft Visual C++ 14.0 or greater
  is required. Get it with &quot;Microsoft C++ Build Tools&quot;:
  <a href="https://visualstudio.microsoft.com/visual-cpp-build-tools/" rel="nofollow noreferrer">https://visualstudio.microsoft.com/visual-cpp-build-tools/</a><br />
  ----------------------------------------   ERROR: Failed building wheel for gdal   Running setup.py clean for gdal Failed to build gdal
  Installing collected packages: gdal
  Running setup.py install for gdal ... error
  ERROR: Command errored out with exit status 1:
  command: 'C:\Users\Thomas\AppData\Local\Programs\Python\Python310\python.exe'
  -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '&quot;'&quot;'C:\Users\Thomas\AppData\Local\Temp\pip-install-a6f2h5t3\gdal_bda2b7753d014f62ac5710c803768ff3\setup.py'&quot;'&quot;';
  <strong>file</strong>='&quot;'&quot;'C:\Users\Thomas\AppData\Local\Temp\pip-install-a6f2h5t3\gdal_bda2b7753d014f62ac5710c803768ff3\setup.py'&quot;'&quot;';f
  = getattr(tokenize, '&quot;'&quot;'open'&quot;'&quot;', open)(<strong>file</strong>) if os.path.exists(<strong>file</strong>) else io.StringIO('&quot;'&quot;'from setuptools import
  setup; setup()'&quot;'&quot;');code = f.read().replace('&quot;'&quot;'\r\n'&quot;'&quot;',
  '&quot;'&quot;'\n'&quot;'&quot;');f.close();exec(compile(code, <strong>file</strong>, '&quot;'&quot;'exec'&quot;'&quot;'))'
  install --record
  'C:\Users\Thomas\AppData\Local\Temp\pip-record-cpcsirol\install-record.txt'
  --single-version-externally-managed --compile --install-headers 'C:\Users\Thomas\AppData\Local\Programs\Python\Python310\Include\gdal'
  cwd: C:\Users\Thomas\AppData\Local\Temp\pip-install-a6f2h5t3\gdal_bda2b7753d014f62ac5710c803768ff3<br />
  Complete output (118 lines):
  running install
  running build
  running build_py
  creating build
  creating build\lib.win-amd64-3.10
  creating build\lib.win-amd64-3.10\osgeo
  copying osgeo\gdal.py -&gt; build\lib.win-amd64-3.10\osgeo
  copying osgeo\gdalconst.py -&gt; build\lib.win-amd64-3.10\osgeo
  copying osgeo\gdalnumeric.py -&gt; build\lib.win-amd64-3.10\osgeo
  copying osgeo\gdal_array.py -&gt; build\lib.win-amd64-3.10\osgeo
  copying osgeo\gnm.py -&gt; build\lib.win-amd64-3.10\osgeo
  copying osgeo\ogr.py -&gt; build\lib.win-amd64-3.10\osgeo
  copying osgeo\osr.py -&gt; build\lib.win-amd64-3.10\osgeo
  copying osgeo\utils.py -&gt; build\lib.win-amd64-3.10\osgeo
  copying osgeo_<em>init</em></em>.py -&gt; build\lib.win-amd64-3.10\osgeo
  creating build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\gdal2tiles.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\gdal2xyz.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\gdalattachpct.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\gdalcompare.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\gdalmove.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\gdal_calc.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\gdal_edit.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\gdal_fillnodata.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\gdal_merge.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\gdal_pansharpen.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\gdal_polygonize.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\gdal_proximity.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\gdal_retile.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\gdal_sieve.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\ogrmerge.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\pct2rgb.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils\rgb2pct.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  copying gdal-utils\osgeo_utils_<em>init</em></em>.py -&gt; build\lib.win-amd64-3.10\osgeo_utils
  creating build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  copying gdal-utils\osgeo_utils\auxiliary\array_util.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  copying gdal-utils\osgeo_utils\auxiliary\base.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  copying gdal-utils\osgeo_utils\auxiliary\batch_creator.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  copying gdal-utils\osgeo_utils\auxiliary\color_palette.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  copying gdal-utils\osgeo_utils\auxiliary\color_table.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  copying gdal-utils\osgeo_utils\auxiliary\extent_util.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  copying gdal-utils\osgeo_utils\auxiliary\gdal_argparse.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  copying gdal-utils\osgeo_utils\auxiliary\numpy_util.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  copying gdal-utils\osgeo_utils\auxiliary\osr_util.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  copying gdal-utils\osgeo_utils\auxiliary\progress.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  copying gdal-utils\osgeo_utils\auxiliary\raster_creation.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  copying gdal-utils\osgeo_utils\auxiliary\rectangle.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  copying gdal-utils\osgeo_utils\auxiliary\util.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  copying gdal-utils\osgeo_utils\auxiliary_<em>init</em></em>.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\auxiliary
  creating build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\assemblepoly.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\build_jp2_from_xml.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\classify.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\crs2crs2grid.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\densify.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\dump_jp2.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\epsg_tr.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\esri2wkt.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\fft.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\fix_gpkg.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gcps2ogr.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gcps2vec.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gcps2wld.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdal2grd.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdalchksum.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdalcopyproj.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdalfilter.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdalident.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdalimport.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdalinfo.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdallocationinfo.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdal_auth.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdal_cp.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdal_create_pdf.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdal_ls.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdal_lut.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdal_mkdir.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdal_remove_towgs84.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdal_rm.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdal_rmdir.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdal_vrtmerge.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\gdal_zip.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\get_soundg.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\histrep.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\hsv_merge.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\jpeg_in_tiff_extract.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\load2odbc.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\loslas2ntv2.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\magphase.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\make_fuzzer_friendly_archive.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\mkgraticule.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\ogr2ogr.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\ogr2vrt.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\ogrinfo.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\ogrupdate.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\ogr_build_junction_table.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\ogr_dispatch.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\ogr_layer_algebra.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\rel.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\tigerpoly.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\tile_extent_from_raster.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\tolatlong.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\validate_cloud_optimized_geotiff.py -&gt;
  build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\validate_gpkg.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\validate_jp2.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\val_repl.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\vec_tr.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\vec_tr_spat.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples\wcs_virtds_params.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  copying gdal-utils\osgeo_utils\samples_<em>init</em></em>.py -&gt; build\lib.win-amd64-3.10\osgeo_utils\samples
  running build_ext
  building 'osgeo._gdal' extension
  building 'osgeo._ogr' extension
  building 'osgeo._gnm' extension
  building 'osgeo._gdalconst' extension
  building 'osgeo._osr' extension
  building 'osgeo._gdal_array' extension
  error: Microsoft Visual C++ 14.0 or greater is required. Get it with &quot;Microsoft C++ Build Tools&quot;:
  <a href="https://visualstudio.microsoft.com/visual-cpp-build-tools/" rel="nofollow noreferrer">https://visualstudio.microsoft.com/visual-cpp-build-tools/</a>
  ---------------------------------------- ERROR: Command errored out with exit status 1:
  'C:\Users\Thomas\AppData\Local\Programs\Python\Python310\python.exe'
  -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '&quot;'&quot;'C:\Users\Thomas\AppData\Local\Temp\pip-install-a6f2h5t3\gdal_bda2b7753d014f62ac5710c803768ff3\setup.py'&quot;'&quot;';
  <strong>file</strong>='&quot;'&quot;'C:\Users\Thomas\AppData\Local\Temp\pip-install-a6f2h5t3\gdal_bda2b7753d014f62ac5710c803768ff3\setup.py'&quot;'&quot;';f
  = getattr(tokenize, '&quot;'&quot;'open'&quot;'&quot;', open)(<strong>file</strong>) if os.path.exists(<strong>file</strong>) else io.StringIO('&quot;'&quot;'from setuptools import
  setup; setup()'&quot;'&quot;');code = f.read().replace('&quot;'&quot;'\r\n'&quot;'&quot;',
  '&quot;'&quot;'\n'&quot;'&quot;');f.close();exec(compile(code, <strong>file</strong>, '&quot;'&quot;'exec'&quot;'&quot;'))'
  install --record
  'C:\Users\Thomas\AppData\Local\Temp\pip-record-cpcsirol\install-record.txt'
  --single-version-externally-managed --compile --install-headers 'C:\Users\Thomas\AppData\Local\Programs\Python\Python310\Include\gdal'
  Check the logs for full command output.</p>
  </blockquote>
  <p>I tried to install last version of microsoft visual C++ but it doesn't change anything..</p>
  <p><a href="https://i.stack.imgur.com/X1Gpm.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/X1Gpm.png" alt="enter image description here" /></a></p>
  <p>Does somebody have an idea about what should I try ?</p>