@classmethod<EOL><INDENT>def from_env(cls, envvars, default, default_config):<DEDENT>
try:<EOL><INDENT>if isinstance(envvars, six.string_types):<EOL><INDENT>envvars = [envvars]<EOL><DEDENT>config_file = default<EOL>for envvar in envvars:<EOL><INDENT>envvalue = os.getenv(envvar)<EOL>if envvalue is not None:<EOL><INDENT>config_file = envvalue<EOL>break<EOL><DEDENT><DEDENT>config = Configuration.from_file(config_file)<EOL><DEDENT>except IOError as exc:<EOL><INDENT>if exc.errno in [errno.ENOENT, errno.ENOTDIR]:<EOL><INDENT>config = default_config<EOL><DEDENT>else:<EOL><INDENT>raise<EOL><DEDENT><DEDENT>return config<EOL>
Create a ``Configuration``

        :param envvars: list of environment variable name where to look
        for a YAML filename
        :param default: default path to YAML file if not found in ``envvars``
        :param default_config: Default ``Configuration`` if not found
        in above methods.
        :return: new configuration
        :rtype: ``Configuration``