Рефакторинг проекта: разделение на модули, улучшенный интерфейс, обработка Excel
This commit is contained in:
72
build_32bit.py
Normal file
72
build_32bit.py
Normal file
@@ -0,0 +1,72 @@
|
||||
"""
|
||||
Скрипт для создания 32-битной версии программы
|
||||
ВАЖНО: Этот скрипт нужно запускать на 32-битном Python!
|
||||
"""
|
||||
import PyInstaller.__main__
|
||||
import sys
|
||||
import platform
|
||||
|
||||
def check_architecture():
|
||||
"""Проверяет архитектуру Python"""
|
||||
arch = platform.architecture()[0]
|
||||
machine = platform.machine()
|
||||
|
||||
print(f"🔍 Текущая архитектура Python: {arch}")
|
||||
print(f"🖥️ Тип машины: {machine}")
|
||||
|
||||
if arch == '32bit':
|
||||
print("✅ Python 32-bit - подходит для создания 32-битной программы")
|
||||
return True
|
||||
else:
|
||||
print("❌ Python 64-bit - НЕ подходит для создания 32-битной программы")
|
||||
print("💡 Для создания 32-битной версии нужен 32-битный Python")
|
||||
return False
|
||||
|
||||
def build_32bit_executable():
|
||||
"""Создает 32-битный исполняемый файл"""
|
||||
|
||||
if not check_architecture():
|
||||
print("\n⚠️ ВНИМАНИЕ: Для создания 32-битной программы:")
|
||||
print("1. Скачайте 32-битный Python с https://www.python.org/downloads/")
|
||||
print("2. Установите зависимости: pip install pyinstaller pandas openpyxl lxml")
|
||||
print("3. Запустите этот скрипт снова")
|
||||
return False
|
||||
|
||||
# Параметры для PyInstaller (32-бит)
|
||||
args = [
|
||||
'main.py',
|
||||
'--onefile',
|
||||
'--windowed',
|
||||
'--name=KadastrParser_32bit',
|
||||
'--icon=NONE',
|
||||
'--add-data=services;services',
|
||||
'--add-data=models;models',
|
||||
'--hidden-import=tkinter',
|
||||
'--hidden-import=pandas',
|
||||
'--hidden-import=openpyxl',
|
||||
'--hidden-import=lxml',
|
||||
'--clean',
|
||||
'--noconfirm',
|
||||
'--target-architecture=x86', # Явно указываем 32-бит
|
||||
]
|
||||
|
||||
print("\n🚀 Начинаем создание 32-битного исполняемого файла...")
|
||||
print("📋 Параметры сборки:")
|
||||
for arg in args:
|
||||
print(f" {arg}")
|
||||
print()
|
||||
|
||||
try:
|
||||
# Запускаем PyInstaller
|
||||
PyInstaller.__main__.run(args)
|
||||
print("✅ 32-битная сборка завершена!")
|
||||
print("📁 Исполняемый файл: dist/KadastrParser_32bit.exe")
|
||||
return True
|
||||
except Exception as e:
|
||||
print(f"❌ Ошибка при сборке: {e}")
|
||||
return False
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("🔧 Создание 32-битной версии программы")
|
||||
print("=" * 50)
|
||||
build_32bit_executable()
|
||||
Reference in New Issue
Block a user