#python #python-3.x #pyinstaller
Вопрос:
Я использую Auto Py в Exe для преобразования файла .py в файл .exe. Весь мой код находится в одном файле, но у меня есть отдельный значок (X2P.ico) и 3 файла .txt. В настоящее время я использую Windows 10. Это была команда, сгенерированная с помощью Auto Py в Exe
pyinstaller --noconfirm --onedir --windowed --icon "C:/Project/X2P.ico" --add-data "C:/Project/AppFinal_Template1.txt;." --add-data "C:/Project/AppFinal_Template2.txt;." --add-data "C:/Project/AppFinal_TemplateNames.txt;." "C:/Project/X2P_main.py"
Но при выполнении приведенной выше команды я получаю следующую ошибку:
An error occurred while packaging
Traceback (most recent call last):
File "c:usersharshappdatalocalprogramspythonpython38libsite-packageswin32ctypespywin32pywintypes.py", line 35, in pywin32error
yield
File "c:usersharshappdatalocalprogramspythonpython38libsite-packageswin32ctypespywin32win32api.py", line 268, in UpdateResource
_resource._UpdateResource(
File "c:usersharshappdatalocalprogramspythonpython38libsite-packageswin32ctypescorecffi_resource.py", line 130, in _UpdateResource
check_false(
File "c:usersharshappdatalocalprogramspythonpython38libsite-packageswin32ctypescorecffi_util.py", line 81, in __call__
self._raise_error(function_name)
File "c:usersharshappdatalocalprogramspythonpython38libsite-packageswin32ctypescorecffi_util.py", line 92, in _raise_error
raise exception
OSError: [WinError 87] The parameter is incorrect
за которым следует
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:usersharshappdatalocalprogramspythonpython38libsite-packagesauto_py_to_exepackaging.py", line 131, in package
run_pyinstaller()
File "c:usersharshappdatalocalprogramspythonpython38libsite-packagesPyInstaller__main__.py", line 114, in run
run_build(pyi_config, spec_file, **vars(args))
File "c:usersharshappdatalocalprogramspythonpython38libsite-packagesPyInstaller__main__.py", line 65, in run_build
PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs)
File "c:usersharshappdatalocalprogramspythonpython38libsite-packagesPyInstallerbuildingbuild_main.py", line 737, in main
build(specfile, kw.get('distpath'), kw.get('workpath'), kw.get('clean_build'))
File "c:usersharshappdatalocalprogramspythonpython38libsite-packagesPyInstallerbuildingbuild_main.py", line 684, in build
exec(code, spec_namespace)
File "C:UsersharshAppDataLocalTemptmpoo3n_0lsX2P_main.spec", line 21, in <module>
exe = EXE(pyz,
File "c:usersharshappdatalocalprogramspythonpython38libsite-packagesPyInstallerbuildingapi.py", line 450, in __init__
self.__postinit__()
File "c:usersharshappdatalocalprogramspythonpython38libsite-packagesPyInstallerbuildingdatastruct.py", line 160, in __postinit__
self.assemble()
File "c:usersharshappdatalocalprogramspythonpython38libsite-packagesPyInstallerbuildingapi.py", line 549, in assemble
icon.CopyIcons(tmpnm, self.icon)
File "c:usersharshappdatalocalprogramspythonpython38libsite-packagesPyInstallerutilswin32icon.py", line 216, in CopyIcons
return CopyIcons_FromIco(dstpath, [srcpath])
File "c:usersharshappdatalocalprogramspythonpython38libsite-packagesPyInstallerutilswin32icon.py", line 159, in CopyIcons_FromIco
win32api.UpdateResource(hdst, RT_ICON, iconid, data)
File "c:usersharshappdatalocalprogramspythonpython38libsite-packageswin32ctypespywin32win32api.py", line 268, in UpdateResource
_resource._UpdateResource(
File "c:usersharshappdatalocalprogramspythonpython38libcontextlib.py", line 131, in __exit__
self.gen.throw(type, value, traceback)
File "c:usersharshappdatalocalprogramspythonpython38libsite-packageswin32ctypespywin32pywintypes.py", line 37, in pywin32error
raise error(exception.winerror, exception.function, exception.strerror)
win32ctypes.pywin32.pywintypes.error: (87, 'UpdateResource', 'The parameter is incorrect')
Project output will not be moved to output folder
Complete.
Пожалуйста, помогите мне устранить эту ошибку
Ответ №1:
Выполните команду из папки, в которой X2P_main.py находится. С помощью приведенной ниже команды
pyinstaller --noconfirm --onedir --windowed --icon "C:/Project/X2P.ico" --add-data "C:/Project/AppFinal_Template1.txt;." --add-data "C:/Project/AppFinal_Template2.txt;." --add-data "C:/Project/AppFinal_TemplateNames.txt;." X2P_main.py