  
      def conda_installer(self, package, channel=None, verbose=False, conda_only=False):
          """ Install a conda package """
          success = True
          condaexe = ["conda", "install", "-y"]
          if not verbose or self.env.updater:
              condaexe.append("-q")
          if channel:
              condaexe.extend(["-c", channel])
 
</s> remove             else:
                if len(pkg.split("==")) > 1:
                    if pkg.split("==")[1] != self.env.installed_packages.get(key):
                        self.env.missing_packages.append(pkg)
                        continue

    @staticmethod
    def check_os_requirements(package):
        """ Check that the required package is required for this OS """
        if ";" not in package and "sys_platform" not in package:
            return package
        package = "".join(package.split())
        pkg, tags = package.split(";")
        tags = tags.split("==")
        sys_platform = tags[tags.index("sys_platform") + 1].replace('"', "").replace("'", "")
        if sys_platform == sys.platform:
            return pkg
        return None
 </s> add             installed_vers = self.env.installed_packages.get(key, "")
            if specs and not all(self._operators[spec[0]](installed_vers, spec[1])
                                 for spec in specs):
                self.env.missing_packages.append((key, specs)) </s> remove         for pkg in self.env.missing_packages:
 </s> add         for pkg, version in self.env.missing_packages:
            if version:
                pkg = "{}{}".format(pkg, ",".join("".join(spec) for spec in version)) </s> remove             else:
                if len(pkg[0].split("==")) > 1:
                    if pkg[0].split("==")[1] != self.env.installed_conda_packages.get(key):
                        self.env.conda_missing_packages.append(pkg)
                        continue
 </s> add             if len(pkg[0].split("==")) > 1:
                if pkg[0].split("==")[1] != self.env.installed_conda_packages.get(key):
                    self.env.conda_missing_packages.append(pkg)
                    continue
        #  Packages with special characters need to be enclosed in double quotes
        if any(char in package for char in (" ", "<", ">", "*", "|")):
            package = "\"{}\"".format(package)
  
      def conda_installer(self, package, channel=None, verbose=False, conda_only=False):
          """ Install a conda package """
        #  Packages with special characters need to be enclosed in double quotes
        if any(char in package for char in (" ", "<", ">", "*", "|")):
            package = "\"{}\"".format(package)
          success = True
          condaexe = ["conda", "install", "-y"]
          if not verbose or self.env.updater:
              condaexe.append("-q")
          if channel:
              condaexe.extend(["-c", channel])
keep keep add keep keep keep keep keep keep
 Dependencies update (#1028)

* Dependencies update
  - Split requirements.txt into separate version files
  - More flexible package pinning
  - Update dependencies
  - Fix pynvml being constantly re-downloaded on update
  - Update dockerfiles
  - update INSTALL.md 
setup.py