cx_freeze ImportError при выполнении файла

Программа предназначена для захвата строки заголовка окна переднего плана пользователя и добавления этого названия вместе с datetime в файл журнала.

Когда я запускаю этот код на своем компьютере, он работает, однако, когда я запускаю исполняемый файл на другом компьютере, я получаю ошибку, которую вы можете увидеть ниже:

Файл Python:

from win32gui import GetForegroundWindow, GetWindowText from datetime import datetime from time import sleep from os.path import join log_path = r'C:\Office Viewer\OV_Log.txt' while True: window_name = GetWindowText(GetForegroundWindow()) current_time = datetime.strftime(datetime.now(), '%Y/%m/%d_%H:%M:%S, ') txt = join('\n',current_time, window_name) with open(log_path, 'a') as log_file: log_file.write(txt) sleep(5) 

setup.py:

 import sys from cx_Freeze import setup, Executable base = None if (sys.platform == "win32"): base = "Win32GUI" #build_exe_options = {'include_files': ['re']} build_exe_options = {"packages": ["re"]} setup( name = "Foreground Window Montior", version = "0.1", description = "Query the foreground window.", options = {'build_exe': build_exe_options}, executables = [Executable("actWin_Query.py", base=base)]) 

Ошибка:

введите описание изображения здесь

Может ли кто-нибудь порекомендовать то, что мне нужно для решения этой проблемы, пожалуйста?

Проблема заключается в том, что C: \ Python33 \ etc … не существует на другом компьютере. Как я могу заставить программу полностью зависеть от каталога, в котором находится .exe?

One Solution collect form web for “cx_freeze ImportError при выполнении файла”

Ах, радости упаковки автономных приложений Python для Windows! Любой, кто говорит вам это легко , не пробовал. Но не сдавайтесь, результат, как правило, стоит того, если вы можете пройти мимо исходных situps.

Пути, испускаемые в сообщении об ошибке вашего замороженного исполняемого файла, скорее всего, являются красной селедкой, которую можно смело игнорировать. Похоже, что ваше приложение (косвенно) втягивает DLL, которая не включена автоматически cx_Freeze и недоступна на целевой машине. Выяснить, какая именно DLL отсутствует, – сложная часть.

Я лично попробовал запустить setup.py вы отправили на компьютере под управлением Windows 7 для создания файлов EXE и поддержки вашего сценария Python. Затем я скопировал пакет в окно Windows XP. К сожалению, для меня это просто отлично , поэтому я могу дать вам общий совет по устранению неполадок. Вот что я хотел бы попробовать:

  1. Загрузите Dependency Walker на целевой компьютер и откройте свой cx_Freeze actWin_Query.exe файл actWin_Query.exe .
  2. Попробуйте определить, какая DLL не загружается
  3. Вернитесь на свою машину сборки, используйте cx_Freeze include-files cx_Freeze include-files отсутствующие DLL (ы)
  4. Восстановить приложение
  5. Попробуйте снова запустить цель

Извините, я не могу дать более конкретные советы, чем это. Существует так много возможных комбинаций вариантов Windows / Python, плюс 32- / 64-бит и C, которые трудно точно определить. Но у меня были подобные проблемы, по крайней мере, дюжина раз, и это всегда сводится к отсутствию файлов.

Случай, с которым я сталкиваюсь чаще всего: я создам приложение на компьютере, на котором, скажем, установлен Visual C ++ 2010 [Express], а затем обнаружите, что он не запускается на машине, у которой нет VC + +2010. Установка VC ++ 2010 Redistributable на цель часто решает проблему или связывает ее установку с «супер-установщиком», который также устанавливает файлы cx_Freeze . (Я подозреваю, что проблема, которую вы видите, немного отличается от этого, просто упомянуть об этом, если она будет полезна.) Удачи!

  • Как извлечь текст из существующего файла docx с помощью python-docx
  • Как сделать элементы рисовать в то же время в python с помощью черепахи?
  • Печать без функции newline в функции не работает, как это должно быть в Python
  • Как реализован __slots__ в Python?
  • Открывается приложение cx_freeze, которое быстро закрывается
  • разбор содержимого электронной почты из poplib с помощью модуля электронной почты (PYTHON)
  • Python - преобразование sock.recv в строку
  • Не удалось установить графический файл для python3 на ubuntu 14.04
  • Как сделать мигающее текстовое поле в tkinter?
  • Как шифровать все возможные строки в определенном наборе символов python?
  • Как автоматически активировать всплывающее окно tkinter simpleedialog?
  • Python - лучший язык программирования в мире.