ImportError при запуске программы, созданной cx_Freeze - PullRequest
0 голосов
/ 23 мая 2019

Я получаю сообщение об ошибке при попытке запустить cx_Freeze для создания файла .exe из моего сценария .py.

Ошибка:

enter image description here

cx_Freeze версия: 6.0b1

Мой установочный файл:

import sys,os
from cx_Freeze import setup, Executable

os.environ['TCL_LIBRARY'] = r'C:\Users\drees\AppData\Local\Programs\Python\Python36-32\tcl\tcl8.6'
os.environ['TK_LIBRARY'] = r'C:\Users\drees\AppData\Local\Programs\Python\Python36-32\tcl\tk8.6'
PYTHON_INSTALL_DIR = os.path.dirname(os.path.dirname(os.__file__))
base = None

if sys.platform == 'win32':
    base = "Win32GUI"

if sys.platform == 'win64':
    base = "Win64GUI"

build_exe_options = {"packages": ['numpy.core._methods', 'numpy.lib.format',"matplotlib.backends.backend_tkagg"],
"include_files": [(os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tk86t.dll')),(os.path.join(PYTHON_INSTALL_DIR, 'DLLs', 'tcl86t.dll'))]}

setup(
    name = "ZVI App",
    version = "0.0",
    description = "All-in-one application",
    author = "David Rees",
    author_email = "drees@zahroofvalves.com",
    options = {"build_exe": build_exe_options},
    executables = [Executable("ZVIApp.py", base = base,icon = "ZVI.ico")]

Как это исправить?Я использовал PyInstaller, и он отлично работает, я просто пытался увидеть, заставит ли cx_Freeze ускорить запуск моей программы, поскольку при использовании PyInstaller это занимает 10 секунд.Переводчику требуется около 3 секунд для запуска кода.

1 Ответ

0 голосов
/ 24 мая 2019

Я вижу 2 потенциальных проблемы:

  1. Попробуйте установить последнюю версию xlwings. проблема с тем же сообщением об ошибке , о котором сообщалось в другом контексте для xlwings.

  2. Возможно, вы смешиваете 32-битную и 64-битную операционные системы, которые вы используете для замораживания приложения, используемую версию Python и операционную систему, в которой вы запустили замороженное приложение. См. Мой ответ на Как Могу ли я создать установщик для 64-битной машины в Python? для описания возможных рабочих конфигураций.

...