code: def try_run_setup(**kwargs):
      
  
      try:
          run_setup(**kwargs)
      except Exception as e:
          print(str(e))
          if "xgboost" in str(e).lower():
              kwargs["test_xgboost"] = False
              print("Couldn't install XGBoost for testing!")
              try_run_setup(**kwargs)
          elif "lightgbm" in str(e).lower():
              kwargs["test_lightgbm"] = False
              print("Couldn't install LightGBM for testing!")
              try_run_setup(**kwargs)
          elif kwargs["with_binary"]:
              kwargs["with_binary"] = False
              print("WARNING: The C extension could not be compiled, sklearn tree models not supported.")
              try_run_setup(**kwargs)
          else:
              print("ERROR: Failed to build!")
docs: Fails gracefully when various install steps don't work.