Python .exe yaptıktan sonra Modül hatası __future__

Merhaba PyCharm kullanıyorum herahngi bir sorun yok ama auto-py-to-exe ile .exe olarak kaydettiğim zaman açağıdaki hatayı alıyorum sorunu çözemedim

Liste-Cek 2 dosyası çalışıyor…

[HATA] Dosya: Liste-Cek 2

Hata Mesajı: No module named ‘future

import sys
import os
import time
import configparser
from PyQt5.QtWidgets import QApplication, QMainWindow, QTextEdit, QPushButton, QVBoxLayout, QWidget
from PyQt5.QtCore import QThread, pyqtSignal
from PyQt5.QtGui import QColor


# Türkçe karakter desteği için ConfigParser sınıfını özelleştirme
class TurkishConfigParser(configparser.ConfigParser):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def optionxform(self, optionstr):
        return optionstr  # Değişiklik: Küçük harf dönüşümü yapma


class DosyaThread(QThread):
    log_degisim_sinyali = pyqtSignal(str)

    def __init__(self, dosya_yolu, dosya_adı, dosya_sure, parent=None):
        super().__init__(parent)
        self.dosya_yolu = dosya_yolu
        self.dosya_adı = dosya_adı
        self.dosya_sure = dosya_sure
        self.calisiyor = False

    def run(self):
        self.calisiyor = True
        self.log_degisim_sinyali.emit(f"{self.dosya_adı} dosyası çalışıyor...")

        calisma_dizini = os.path.dirname(self.dosya_yolu)
        os.chdir(calisma_dizini)
        with open(self.dosya_yolu, "r", encoding="utf-8") as dosya:
            kod = dosya.read()
            try:
                exec(kod)
            except Exception as e:
                self.log_degisim_sinyali.emit(f"[HATA] Dosya: {self.dosya_adı}\nHata Mesajı: {str(e)}\n")

        if self.dosya_sure > 0:
            self.log_degisim_sinyali.emit(f"{self.dosya_adı} dosyası {self.dosya_sure} saniye sonra kapatılacak.")
            time.sleep(self.dosya_sure)
        else:
            self.log_degisim_sinyali.emit(f"{self.dosya_adı} dosyası kapatıldı.")

        self.calisiyor = False


class MainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("Kontrol Paneli")

        self.central_widget = QWidget()
        self.setCentralWidget(self.central_widget)

        self.layout = QVBoxLayout()
        self.central_widget.setLayout(self.layout)

        self.log_penceresi = QTextEdit()
        self.layout.addWidget(self.log_penceresi)

        self.baslat_durdur_butonu = QPushButton("Başlat")
        self.baslat_durdur_butonu.clicked.connect(self.baslat_durdur_toggle)
        self.layout.addWidget(self.baslat_durdur_butonu)

        self.dosya_threads = []

        # Bot ayarlarını okuma
        self.bot_ayarlar_dosya = "bot-ayar.ini"
        self.ayarlar = TurkishConfigParser()
        self.ayarlar.read(self.bot_ayarlar_dosya, encoding="utf-8")

        self.aktif_dosya_index = 0
        self.is_baslatildi = False

        self.baslat_renk = QColor(0, 255, 0)  # Yeşil renk
        self.durdur_renk = QColor(255, 0, 0)  # Kırmızı renk

    def baslat_durdur_toggle(self):
        if not self.is_baslatildi:
            self.baslat_durdur_butonu.setText("Durdur")
            self.baslat_durdur_butonu.setStyleSheet(f"background-color: {self.durdur_renk.name()};")
            self.is_baslatildi = True
            self.baslat_dosya_threads()
        else:
            self.baslat_durdur_butonu.setText("Başlat")
            self.baslat_durdur_butonu.setStyleSheet(f"background-color: {self.baslat_renk.name()};")
            self.is_baslatildi = False
            self.durdur_dosya_threads()

    def baslat_dosya_threads(self):
        bolum_numarasi = 1
        self.dosya_threads = []
        while True:
            ayarlar_bolum = "ayarlar" + str(bolum_numarasi)
            if ayarlar_bolum not in self.ayarlar:
                break

            dosya_yolu = self.ayarlar.get(ayarlar_bolum, "url-yol-" + str(bolum_numarasi), fallback=None)
            dosya_adı = self.ayarlar.get(ayarlar_bolum, "url-ad-" + str(bolum_numarasi), fallback="")
            dosya_sure = self.ayarlar.getint(ayarlar_bolum, "url-sure-" + str(bolum_numarasi), fallback=0)
            if dosya_yolu:
                dosya_thread = DosyaThread(dosya_yolu, dosya_adı, dosya_sure)
                dosya_thread.log_degisim_sinyali.connect(self.loga_yazdir)
                self.dosya_threads.append(dosya_thread)

            bolum_numarasi += 1

        if len(self.dosya_threads) > 0:
            self.aktif_dosya_index = 0
            self.calistir_siradaki_dosyayi()

    def calistir_siradaki_dosyayi(self):
        if self.aktif_dosya_index < len(self.dosya_threads):
            dosya_thread = self.dosya_threads[self.aktif_dosya_index]
            dosya_thread.start()
            dosya_thread.finished.connect(self.dosya_thread_tamamlandi)

    def dosya_thread_tamamlandi(self):
        self.aktif_dosya_index += 1
        if self.aktif_dosya_index == len(self.dosya_threads):
            self.aktif_dosya_index = 0
        if self.is_baslatildi:
            self.calistir_siradaki_dosyayi()

    def durdur_dosya_threads(self):
        for dosya_thread in self.dosya_threads:
            dosya_thread.terminate()

    def loga_yazdir(self, mesaj):
        self.log_penceresi.append(mesaj)
        self.konsol_hatasi_kaydet(mesaj)

    def konsol_hatasi_kaydet(self, hata_mesaji):
        with open("log.txt", "a", encoding="utf-8") as dosya:
            dosya.write(hata_mesaji + "\n")

    def closeEvent(self, event):
        self.durdur_dosya_threads()
        super().closeEvent(event)


if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    sys.exit(app.exec_())