Read any file, deal with encoding.
        :param file:
        :return:

def _read_file(self, file):  # type: (str) -> Optional[str]
        """
        Read any file, deal with encoding.
        :param file:
        :return:
        """
        if not self.setup_file_name:
            return None
        source = None
        if os.path.isfile(file):
            with self.file_opener.open_this(file, "r") as setup_py:
                source = setup_py.read()
        return source