code: def _move_install_requirements_markers(self):
          
  
          # divide the install_requires into two sets, simple ones still
          # handled by install_requires and more complex ones handled
          # by extras_require.
  
          def is_simple_req(req):
              return not req.marker
  
          spec_inst_reqs = getattr(self, 'install_requires', None) or ()
          inst_reqs = list(pkg_resources.parse_requirements(spec_inst_reqs))
          simple_reqs = filter(is_simple_req, inst_reqs)
          complex_reqs = filterfalse(is_simple_req, inst_reqs)
          self.install_requires = list(map(str, simple_reqs))
  
          for r in complex_reqs:
              self._tmp_extras_require[':' + str(r.marker)].append(r)
          self.extras_require = dict(
              (k, [str(r) for r in map(self._clean_req, v)])
              for k, v in self._tmp_extras_require.items()
          )
docs: Move requirements in `install_requires` that are using environment
          markers `extras_require`.