def run(self, packs, update=False, no_download=True):
        """
        :param packs: A list of packs to create the environment for.
        :type: packs: ``list``

        :param update: True to update dependencies inside the virtual environment.
        :type update: ``bool``
        """

        for pack_name in packs:
            setup_pack_virtualenv(
                pack_name=pack_name,
                update=update,
                logger=self.logger,
                proxy_config=self.proxy_config,
                no_download=no_download,
            )

        message = "Successfully set up virtualenv for the following packs: %s" % (
            ", ".join(packs)
        )
        return message

        :param packs: A list of packs to create the environment for.
        :type: packs: ``list``

        :param update: True to update dependencies inside the virtual environment.
        :type update: ``bool``
        
contrib/packs/actions/pack_mgmt/setup_virtualenv.py