                      if package and (not package.startswith(("#", "-r"))):
                          requirements.append(package)
  
          # Add required installer packages
          if self.os_version[0] != "Windows":
              for inst in _INSTALLER_REQUIREMENTS:
                  requirements.insert(0, inst)
  
          self.required_packages = [(pkg.unsafe_name, pkg.specs)
                                    for pkg in parse_requirements(requirements)
                                    if pkg.marker is None or pkg.marker.evaluate()]
          logger.debug(self.required_packages)
 
</s> remove         setup_packages = [(pkg.unsafe_name, pkg.specs)
                          for pkg in parse_requirements(_INSTALLER_REQUIREMENTS)]
 </s> add         pkgs = [pkg[0] for pkg in _INSTALLER_REQUIREMENTS]
        setup_packages = [(pkg.unsafe_name, pkg.specs) for pkg in parse_requirements(pkgs)] </s> remove             self._conda_installer(pkg[0], channel=channel, conda_only=True)
 </s> add             self._from_conda(pkg[0], channel=channel, conda_only=True) </s> remove     def _conda_installer(self,
                         package: str,
                         channel: Optional[str] = None,
                         conda_only: bool = False) -> bool:
 </s> add     def _from_conda(self,
                    package: str,
                    channel: Optional[str] = None,
                    conda_only: bool = False) -> bool: </s> remove             self._pip_installer(pkg)
 </s> add             self._from_pip(pkg) </s> remove                 if self._conda_installer(pkg, channel=channel, conda_only=conda_only):
 </s> add                 if self._from_conda(pkg, channel=channel, conda_only=conda_only):
        for pkg, plat in _INSTALLER_REQUIREMENTS:
            if self.os_version[0] == plat or (plat[0] == "!" and self.os_version[0] != plat[1:]):
                requirements.insert(0, pkg)
                      if package and (not package.startswith(("#", "-r"))):
                          requirements.append(package)
  
          # Add required installer packages
        for pkg, plat in _INSTALLER_REQUIREMENTS:
            if self.os_version[0] == plat or (plat[0] == "!" and self.os_version[0] != plat[1:]):
                requirements.insert(0, pkg)
        for pkg, plat in _INSTALLER_REQUIREMENTS:
            if self.os_version[0] == plat or (plat[0] == "!" and self.os_version[0] != plat[1:]):
                requirements.insert(0, pkg)
        for pkg, plat in _INSTALLER_REQUIREMENTS:
            if self.os_version[0] == plat or (plat[0] == "!" and self.os_version[0] != plat[1:]):
                requirements.insert(0, pkg)
  
          self.required_packages = [(pkg.unsafe_name, pkg.specs)
                                    for pkg in parse_requirements(requirements)
                                    if pkg.marker is None or pkg.marker.evaluate()]
          logger.debug(self.required_packages)
keep keep keep keep replace replace replace keep keep keep keep keep
 Update setup.py
  - Realtime output for Windows
  - color logging for compatible Windows versions 
setup.py