<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def from_binary(cls, binary):
 """Create an interpreter from the given `binary`. :param str binary: The path to the python interpreter binary. :return: an interpreter created from the given `binary` with only the specified extras. :rtype: :class:`PythonInterpreter` """

    if binary not in cls.CACHE:
      if binary == sys.executable:
        cls.CACHE[binary] = cls._from_binary_internal()
      else:
        cls.CACHE[binary] = cls._from_binary_external(binary)
    return cls.CACHE[binary]