def install_plugins_file(self, plugins_file, path, hints=True):
        with self.out() as printer:
            try:
                plugin_list = read_plugin_list(plugins_file)
            except __HOLE__ as e:
                # Grab the human-readable part of the IOError and raise that
                raise PluginError(e[1])

            for plugin in plugin_list:
                config = get_jigconfig(path)
                pm = PluginManager(config)

                try:
                    added = add_plugin(pm, plugin, path)
                except Exception as e:
                    printer(
                        'From {0}:\n - {1}'.format(
                            plugin, e))
                    continue

                set_jigconfig(path, pm.config)

                printer('From {0}:'.format(plugin))
                for p in added:
                    printer(
                        ' - Added plugin {0} in bundle {1}'.format(
                            p.name, p.bundle))

            if hints:
                printer(USE_RUNNOW)
dataset/ETHPy150Open robmadole/jig/src/jig/commands/install.py/InstallCommandMixin.install_plugins_file