def load(self, requirements_file=None):
        """Load or reload requirements from a requirements.txt file.

        :param requirements_file: if not given, the filename used from
            initialization will be read again.
        """
        if requirements_file is None:
            requirements_file = self.filename
            if requirements_file is None:
                raise ValueError("no filename provided")
        elif isinstance(requirements_file, text_type):
            requirements_file = Path(requirements_file)
        self.clear()
        with requirements_file.open() as f:
            self.loads(f.read())

        if isinstance(requirements_file, (text_type, Path)):
            self.filename = requirements_file
def draw(self, context):
        layout = self.layout

        split = layout.split()
        row = split.row()
        row.label("")
        row = split.row()
        row.label("Interaction:")

        text = bpy.path.display_name(context.window_manager.keyconfigs.active.name)
        if not text:
            text = "Blender (default)"
        row.menu("USERPREF_MT_appconfigs", text=text)