          pypath = os.path.dirname(os.path.realpath(__file__))
          requirements = []
          git_requirements = []
          for req_file in req_files:
              requirements_file = os.path.join(pypath, req_file)
              with open(requirements_file, encoding="utf8") as req:
                  for package in req.readlines():
                      package = package.strip()
                      # parse_requirements can't handle git dependencies, so extract and then
                      # manually add to final list
 
</s> remove         git_requirements = []
 </s> add  </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  </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 (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 
            requirements_file = os.path.join(pypath, "requirements", req_file)
          pypath = os.path.dirname(os.path.realpath(__file__))
          requirements = []
          git_requirements = []
          for req_file in req_files:
            requirements_file = os.path.join(pypath, "requirements", req_file)
              with open(requirements_file, encoding="utf8") as req:
                  for package in req.readlines():
                      package = package.strip()
                      # parse_requirements can't handle git dependencies, so extract and then
                      # manually add to final list
keep keep keep keep replace 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