python 3.x – error ds.Getprojection gdal

he estado tratando de implementar un codigo que trabaja con Gdal. Tengo la siguiente funcion

# Define a function to read the projection, bounding box & resolution of an input GeoTIFF raster
def extract_projection_info(tif_path):
"""Function to read a GeoTIFF raster (given its path)
and return its projection, resolution, bounding box,
width & height, as a list of separate variables."""
  ds = gdal.Open(tif_path, gdalconst.GA_ReadOnly)
# Extract projection & geotransform from input dataset
  ds_proj = ds.GetProjection()
  ds_geotrans = ds.GetGeoTransform()
  ds_res_x = ds_geotrans(1)
  ds_res_y = ds_geotrans(5)  # Note: identical to x-resolution, but negative
  ds_width = ds.RasterXSize
  ds_height = ds.RasterYSize
# Get bounding box of input dataset
  ds_x_min = ds_geotrans(0)
  ds_y_max = ds_geotrans(3)
  ds_x_max = ds_x_min + (ds_geotrans(1) * ds_width)
  ds_y_min = ds_y_max + (ds_geotrans(5) * ds_height)
# Close access to GeoTIFF file
  ds = None
# Return all results
  return ds_proj, ds_res_x, ds_res_y, ds_x_min, ds_x_max, ds_y_min, ds_y_max, ds_width, ds_height

cuando llamo esta funcion en el codigo me genera un error:

AttributeError: 'NoneType' object has no attribute 'GetProjection'

no he podido resolverlo. He intentado desinstalando y volviendo a isntalar todos los paquete y no me ha funcionado. Además no entiendo si ds hace referencia a un modulo de gdal? o es solo un nombre que se asigna para crear la funcion. texto en negrita