使用PyInstaller打包Kivy项目时遭遇ImportError问题求助
Kivy项目PyInstaller打包报错求助
试过各种类似解决方案都无效,现在来求助。我用命令pyinstaller --clean main.spec打包Kivy项目,main.spec文件内容如下:
import sys import os from kivy.tools.packaging.pyinstaller_hooks import get_deps_all from kivy.tools.packaging.pyinstaller_hooks import hookspath block_cipher = None a = Analysis( ['/home/user/projects/My_Client/main.py'], pathex=[] binaries=[], datas=[], hiddenimports=['tkinter', 'My_Client_Module_1', 'My_Client_Module_2'], hookspath=hookspath(), hooksconfig={}, runtime_hooks=[], excludes=[], win_no_prefer_redirects=False, win_private_assemblies=False, cipher=block_cipher, noarchive=False, **get_deps_all() ) pyz = PYZ(a.pure, a.zipped_data, cipher=block_cipher) exe = EXE( pyz, a.scripts, [], exclude_binaries=True, name='main', debug=False, bootloader_ignore_signals=False, strip=False, upx=True, console=True, disable_windowed_traceback=False, argv_emulation=False, target_arch=None, codesign_identity=None, entitlements_file=None, ) coll = COLLECT( exe, a.binaries, a.zipfiles, a.datas, strip=False, upx=True, upx_exclude=[], name='main', )
构建时出现如下错误:
74 INFO: PyInstaller: 5.6.2 74 INFO: Python: 3.7.3 74 INFO: Platform: Linux-4.19.0-22-amd64-x86_64-with-debian-10.13 76 INFO: UPX is not available. 76 INFO: Removing temporary files and cleaning cache in /home/user/.cache/pyinstaller [INFO ] [Logger ] Record log in /home/user/.kivy/logs/kivy_22-11-09_7.txt 104 INFO: [Logger ] Record log in /home/user/.kivy/logs/kivy_22-11-09_7.txt [INFO ] [Kivy ] v2.0.0 104 INFO: [Kivy ] v2.0.0 [INFO ] [Kivy ] Installed at "/home/user/.local/lib/python3.7/site-packages/kivy/__init__.py" 105 INFO: [Kivy ] Installed at "/home/user/.local/lib/python3.7/site-packages/kivy/__init__.py" [INFO ] [Python ] v3.7.3 (default, Oct 31 2022, 14:04:00) [GCC 8.3.0] 105 INFO: [Python ] v3.7.3 (default, Oct 31 2022, 14:04:00) [GCC 8.3.0] [INFO ] [Python ] Interpreter at "/usr/bin/python3" 105 INFO: [Python ] Interpreter at "/usr/bin/python3" [INFO ] [Factory ] 186 symbols loaded 106 INFO: [Factory ] 186 symbols loaded Traceback (most recent call last): 106 WARNING: stderr: Traceback (most recent call last): File "/home/user/.local/bin/pyinstaller", line 8, in <module> 106 WARNING: stderr: File "/home/user/.local/bin/pyinstaller", line 8, in <module> sys.exit(run()) 107 WARNING: stderr: sys.exit(run()) File "/home/user/.local/lib/python3.7/site-packages/PyInstaller/__main__.py", line 179, in run 107 WARNING: stderr: File "/home/user/.local/lib/python3.7/site-packages/PyInstaller/__main__.py", line 179, in run run_build(pyi_config, spec_file, **vars(args)) 107 WARNING: stderr: run_build(pyi_config, spec_file, **vars(args)) File "/home/user/.local/lib/python3.7/site-packages/PyInstaller/__main__.py", line 60, in run_build 107 WARNING: stderr: File "/home/user/.local/lib/python3.7/site-packages/PyInstaller/__main__.py", line 60, in run_build PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs) 107 WARNING: stderr: PyInstaller.building.build_main.main(pyi_config, spec_file, **kwargs) File "/home/user/.local/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 963, in main 107 WARNING: stderr: File "/home/user/.local/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 963, in main build(specfile, distpath, workpath, clean_build) 107 WARNING: stderr: build(specfile, distpath, workpath, clean_build) File "/home/user/.local/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 885, in build 107 WARNING: stderr: File "/home/user/.local/lib/python3.7/site-packages/PyInstaller/building/build_main.py", line 885, in build exec(code, spec_namespace) 108 WARNING: stderr: exec(code, spec_namespace) File "main.spec", line 5, in <module> 108 WARNING: stderr: File "main.spec", line 5, in <module> from kivy.tools.packaging.pyinstaller_hooks import get_deps_all 108 WARNING: stderr: from kivy.tools.packaging.pyinstaller_hooks import get_deps_all File "/home/user/.local/lib/python3.7/site-packages/kivy/tools/packaging/pyinstaller_hooks/__init__.py", line 85, in <module> 108 WARNING: stderr: File "/home/user/.local/lib/python3.7/site-packages/kivy/tools/packaging/pyinstaller_hooks/__init__.py", line 85, in <module> from PyInstaller.compat import modname_tkinter 108 WARNING: stderr: from PyInstaller.compat import modname_tkinter ImportError: cannot import name 'modname_tkinter' from 'PyInstaller.compat' (/home/user/.local/lib/python3.7/site-packages/PyInstaller/compat.py) 108 WARNING: stderr: ImportError: cannot import name 'modname_tkinter' from 'PyInstaller.compat' (/home/user/.local/lib/python3.7/site-packages/PyInstaller/compat.py)
我已经尝试过更新pyinstaller-hooks(不确定操作是否正确),也尝试把tkinter添加到hiddenimports里,但问题还是没解决。
内容的提问来源于stack exchange,提问作者Darron
相关产品推荐
相关产品推荐

