  
              if key not in self.env.installed_packages:
                  self.env.missing_packages.append((key, specs))
                  continue
  
              installed_vers = self.env.installed_packages.get(key, "")
  
              if specs and not all(self._operators[spec[0]](installed_vers, spec[1])
 
</s> remove             if (key == "git+https://github.com/deepfakes/nvidia-ml-py3.git" and
                    self.env.installed_packages.get("nvidia-ml-py3", "") == "7.352.1"):
                # Annoying explicit hack to get around our custom version of nvidia-ml=py3 being
                # constantly re-downloaded
                continue
 </s> add  </s> remove             if self.env.is_conda:
                # Get Conda alias for Key
 </s> add             if self.env.is_conda:  # Get Conda alias for Key </s> remove         with Popen(f"\"{sys.executable}\" -m pip freeze", shell=True, stdout=PIPE) as chk:
 </s> add         with Popen(f"\"{sys.executable}\" -m pip freeze --local", shell=True, stdout=PIPE) as chk: </s> remove         if not (self.py_version[0].split(".")[0] == "3"
                and self.py_version[0].split(".")[1] in ("7", "8")
                and self.py_version[1] == "64bit") and not self.updater:
            self.output.error("Please run this script with Python version 3.7 or 3.8 "
 </s> add         if self.updater:
            return

        if not ((3, 7) <= sys.version_info < (3, 10) and self.py_version[1] == "64bit"):
            self.output.error("Please run this script with Python version 3.7 to 3.9 " </s> remove                     # parse_requirements can't handle git dependencies, so extract and then
                    # manually add to final list
                    if package and package.startswith("git+"):
                        git_requirements.append((package, []))
                        continue
 </s> add 
                # Add not installed packages to missing packages list
  
              if key not in self.env.installed_packages:
                # Add not installed packages to missing packages list
                  self.env.missing_packages.append((key, specs))
                  continue
  
              installed_vers = self.env.installed_packages.get(key, "")
  
              if specs and not all(self._operators[spec[0]](installed_vers, spec[1])
keep add keep keep keep keep keep keep
 setup.py - python 3.9 support
    - move requirements files to dedicated folder
    - update all references to requirements files locations
    - setup.py: remove git requirements references
    - setup.py: allow running in python 3.9
    - windows/linux installers: default to python 3.9 environment
    - faceswap.py: cleaner python version check 
setup.py