class_docstr: Subclass build_ext to get clearer report if Cython is necessary.
code: def check_cython_extensions(self, extensions) -> None:
      for ext in extensions:
          for src in ext.sources:
              if not os.path.exists(src):
                  print(f"{ext.name}: -> [{ext.sources}]")
                  raise Exception(
                      f"""Cython-generated file '{src}' not found.
                  Cython is required to compile pandas from a development branch.
                  Please install Cython or download a release package of pandas.
                  """
                  )
  
imports: import argparse
  import multiprocessing
  import os
  from os.path import join
  import platform
  import shutil
  import sys
  from sysconfig import get_config_vars
  import numpy
  from pkg_resources import parse_version
  from setuptools import Command, Extension, setup
  from setuptools.command.build_ext import build_ext
  import versioneer
label_desc: Use image node_id 1 for calling the CheckingBuildExt obj's underlying member method code with example usage: obj.check_cython_extensions(extensions) without return types