docs: def install(self, name=None, prefix=None, pkgs=None, dep=True,
                  channels=None, token=None):
          """
          Install a set of packages into an environment by name or path.
  
          If token is specified, the channels different from the defaults will
          get the token appended.
          """
          logger.debug(str((prefix, pkgs, channels)))
  
          # TODO: Fix temporal hack
          if not pkgs or not isinstance(pkgs, (list, tuple, str)):
              raise TypeError('must specify a list of one or more packages to '
                              'install into existing environment')
  
          cmd_list = ['install', '--yes', '--json', '--force-pscheck']
          if name:
              cmd_list.extend(['--name', name])
          elif prefix:
              cmd_list.extend(['--prefix', prefix])
          else:
              # Just install into the current environment, whatever that is
              pass
  
          # TODO: Check if correct
          if channels:
              cmd_list.extend(['--override-channels'])
  
              for channel in channels:
                  cmd_list.extend(['--channel'])
                  channel = self.parse_token_channel(channel, token)
                  cmd_list.extend([channel])
  
          # TODO: Fix temporal hack
          if isinstance(pkgs, (list, tuple)):
              cmd_list.extend(pkgs)
          elif isinstance(pkgs, str):
              cmd_list.extend(['--file', pkgs])
  
          if not dep:
              cmd_list.extend(['--no-deps'])
  
          return self._call_and_parse(cmd_list)