Проблемы с удалением программы в cx_freeze
У меня программа создает доп. файлы preferences.txt, preferences2.txt, config.ini.
Но при попытке удалить файлы, я наблюдаю только то, что файлы из самой программы (lib, share, calculator.exe и т.д) удаляются, но не выше указанные файлы.
Я спросил у GigaChat, он мне предоставил следующий код:
from cx_Freeze import setup, Executable
import os
# Заданная версия в setup.py
app_version = "7.8.10.7" # Здесь указывается версия сборки
# Чтение версии из setup.py и запись в version.txt
version_file = "version.txt"
with open(version_file, "w") as f:
f.write(app_version)
# Базовые настройки сборки
app_name = "Рас. Калькулятор" # Название вашего приложения
base_executable = "Win32GUI" # Тип приложения (GUI или консольное); None - консольный режим
icon_path = "calculator.ico" # Путь к иконке приложения (если есть)
# Скрипт главного модуля
executable = Executable(
script="tests.py", # Главный файл сценария
base=base_executable, # Режим исполнения (None для консольного режима)
icon=icon_path, # Путь к иконке (если есть)
target_name="calculator.exe", # Имя генерируемого .exe файла
shortcut_name="Рас. Калькулятор", # Имя ярлыка
shortcut_dir="ProgramMenuFolder" # Каталог для ярлыка (ProgramMenuFolder - меню "Пуск")
)
# Параметры сборки
options = {
"build_exe": {
"packages": [
"tkinter", # Необходим для GUI
"sympy", # Символьные вычисления
"PIL", # Pillow для изображений
"configparser", # Конфигурационные файлы
"settings_panel", # ВАЖНО: добавляем ваш собственный модуль!
"matplotlib", # Матплотлиб для графиков
"numpy" # Нампай для массивов и математики
],
"includes": [], # Дополнительные модули, если нужны
"include_files": ["version.txt", "settings_icon.png"], # Добавляем файл version.txt
"zip_include_packages": [], # Упаковка всех пакетов в архив
"optimize": 2, # Уровень оптимизации байт-кода (может уменьшить размер)
"install_dir": "C:/Program Files/Рас. Калькулятор" # Путь для установки по умолчанию
},
"bdist_msi": {
"upgrade_code": "{66666666-6666-6666-6666-666666666666}", # Уникальный идентификатор обновления
"add_to_path": False, # Не добавлять в PATH
"uninstall_files": [
"preferences.txt",
"preferences2.txt",
"config.ini"
] # Файлы, которые должны быть удалены при деинсталляции
}
}
# Настройка сборки
setup(
name=app_name,
version=app_version,
description="Калькулятор с большим функционалом",
executables=[executable],
options=options
)
Но там ошибка:
error: error in setup script: command 'bdist_msi' has no such option 'uninstall_files'
Как правильно сделать? (используется python312, cx_Freeze 8.2.0)