cx_freeze / PyQt5: pywintypes.error: (2, 'BeginUpdateResource', 'Система не может найти указанный файл.' - PullRequest
0 голосов
/ 17 июня 2020

У меня проблема cx_freeze на python 3.7.6.4 ond Windows 10 (тоже пробовал Windows 7 - та же ошибка) - используя этот makeexe:

import sys
from cx_Freeze import setup, Executable

# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {"packages": ["os", "sys"],
                     "include_files": ["DMCA.ico"]
}

# GUI applications require a different base on Windows (the default is for a
# console application).
base = None
if sys.platform == "win32":
    base = "Win32GUI"

setup(  name = "DMCA",
        version = "0.01",
        description = "DMCA by EP",
        options = {"build_exe": build_exe_options},
        executables = [Executable("DMCA.py", base=base, icon="DMCA.ico")])

Я получаю:

C:\WPy64-3760\Code\09Working>makeexe

C:\WPy64-3760\Code\09Working>C:/WPy64-3760/python-3.7.6.amd64/python MakeExe.py build
running build
running build_exe
copying C:\WPy64-3760\python-3.7.6.amd64\lib\site-packages\cx_Freeze\bases\Win32GUI.exe -> build\exe.win-amd64-3.7\DMCA.exe
copying C:\WPy64-3760\python-3.7.6.amd64\python37.dll -> build\exe.win-amd64-3.7\python37.dll
copying C:\WPy64-3760\python-3.7.6.amd64\VCRUNTIME140.dll -> build\exe.win-amd64-3.7\VCRUNTIME140.dll
error: [WinError 2] Das System kann die angegebene Datei nicht finden: 'build\\exe.win-amd64-3.7\\DMCA.exe'

и если я использую:

import sys
from cx_Freeze import setup, Executable

# Dependencies are automatically detected, but it might need fine tuning.
build_exe_options = {"packages": ["os", "sys"]}

# GUI applications require a different base on Windows (the default is for a
# console application).
base = None
if sys.platform == "win32":
    base = "Win32GUI"

setup(  name = "DMCA",
        version = "0.01",
        description = "DMCA by EP",
        options = {"build_exe": build_exe_options},
        executables = [Executable("DMCA.py", base=base)])

Ошибка:

C:\WPy64-3760\Code\09Working>makeexe

C:\WPy64-3760\Code\09Working>C:/WPy64-3760/python-3.7.6.amd64/python MakeExe.py build
running build
running build_exe
copying C:\WPy64-3760\python-3.7.6.amd64\lib\site-packages\cx_Freeze\bases\Win32GUI.exe -> build\exe.win-amd64-3.7\DMCA.exe
copying C:\WPy64-3760\python-3.7.6.amd64\python37.dll -> build\exe.win-amd64-3.7\python37.dll
copying C:\WPy64-3760\python-3.7.6.amd64\VCRUNTIME140.dll -> build\exe.win-amd64-3.7\VCRUNTIME140.dll
Traceback (most recent call last):
  File "MakeExe.py", line 21, in <module>
    executables = [Executable("DMCA.py", base=base)])
  File "C:\WPy64-3760\python-3.7.6.amd64\lib\site-packages\cx_Freeze\dist.py", line 348, in setup
    distutils.core.setup(**attrs)
  File "C:\WPy64-3760\python-3.7.6.amd64\lib\distutils\core.py", line 148, in setup
    dist.run_commands()
  File "C:\WPy64-3760\python-3.7.6.amd64\lib\distutils\dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "C:\WPy64-3760\python-3.7.6.amd64\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\WPy64-3760\python-3.7.6.amd64\lib\distutils\command\build.py", line 135, in run
    self.run_command(cmd_name)
  File "C:\WPy64-3760\python-3.7.6.amd64\lib\distutils\cmd.py", line 313, in run_command
    self.distribution.run_command(command)
  File "C:\WPy64-3760\python-3.7.6.amd64\lib\distutils\dist.py", line 985, in run_command
    cmd_obj.run()
  File "C:\WPy64-3760\python-3.7.6.amd64\lib\site-packages\cx_Freeze\dist.py", line 219, in run
    freezer.Freeze()
  File "C:\WPy64-3760\python-3.7.6.amd64\lib\site-packages\cx_Freeze\freezer.py", line 617, in Freeze
    self._FreezeExecutable(executable)
  File "C:\WPy64-3760\python-3.7.6.amd64\lib\site-packages\cx_Freeze\freezer.py", line 208, in _FreezeExecutable
    self._AddVersionResource(exe)
  File "C:\WPy64-3760\python-3.7.6.amd64\lib\site-packages\cx_Freeze\freezer.py", line 143, in _AddVersionResource
    stamp(fileName, versionInfo)
  File "C:\WPy64-3760\python-3.7.6.amd64\lib\site-packages\win32\lib\win32verstamp.py", line 163, in stamp
    h = BeginUpdateResource(pathname, 0)
pywintypes.error: (2, 'BeginUpdateResource', The system cannot find the file specified.)

как я могу найти проблему? Исходный код, который я хочу заморозить, больше; PyQt QmainWindow и несколько подфайлов с использованием matplotlib 3.2.1, Pillow 6.2.1, scipy 1.4.1 и numpy 1.17.4 + mkl, так что это переполнит эту страницу. Я также попытался добавить свои подфайлы в build_exe_options как 'includes', и вывод такой же.

1 Ответ

0 голосов
/ 19 июня 2020

Установка нового Python и установка пакетов решила эту проблему, но исполняемый файл не работает должным образом. Закрытие этой проблемы.

...