gpt4 book ai didi

python - Pyinstaller 生成的 exe 无法正常运行

转载 作者:太空宇宙 更新时间:2023-11-03 15:40:27 26 4
gpt4 key购买 nike

我正在尝试打包我编写的 python 程序/脚本 ( pastebin link ),其中包括使用 tkinter 模块的 GUI。我决定使用 Pyinstaller,根据他们的说法,它支持 Python 3.7。

目前,尝试运行 pyinstaller 似乎在实际打包时不会产生任何问题。在我尝试运行失败的可执行文件之后。我生成了可执行文件的一个文件变体,它只是打开一个命令提示符并挂起。当我执行非一个文件命令时,它会立即打开和关闭,但会给出一个错误输出,由于它关闭的速度太快我看不到。我直接在 cmd 中打开可执行文件来解决这个问题,它给了我这个错误:

C:\Users\mqian\Desktop\CGIProject\autoprimercode\windowsversion\build\windowsaut
oprimer>windowsautoprimer.exe
Error loading Python DLL 'C:\Users\mqian\Desktop\CGIProject\autoprimercode\windo
wsversion\build\windowsautoprimer\python37.dll'.
LoadLibrary: The specified module could not be found.

我不知道它是否应该在这个文件夹中寻找 python37.dll,但是,我有一个好主意,通过跟踪将 dll 从 python 目录复制到指定的目录中(显然它应该必须那样)。现在我得到的错误是:

C:\Users\mqian\Desktop\CGIProject\autoprimercode\windowsversion\build\windowsaut
oprimer>windowsautoprimer.exe
Traceback (most recent call last):
File "site-packages\PyInstaller\loader\rthooks\pyi_rth__tkinter.py", line 28,
in <module>
FileNotFoundError: Tcl data directory "C:\Users\mqian\Desktop\CGIProject\autopri
mercode\windowsversion\build\windowsautoprimer\tcl" not found.
[6600] Failed to execute script pyi_rth__tkinter

无尽的谷歌搜索没有产生任何具体的结果。以下是一些我认为可能有帮助的相关链接。

https://github.com/pyinstaller/pyinstaller/issues/2149

https://www.xoolive.org/2015/09/09/issues-on-loading-dlls-with-pyinstaller.html

PyInstaller: "No module named Tkinter"

https://github.com/pyinstaller/pyinstaller/issues/2495

Error loading python27.dll error for pyinstaller

这是我的规范文件:

# -*- mode: python -*-

block_cipher = None


a = Analysis(['windowsautoprimer.py'],
pathex=['C:\\Users\\mqian\\Desktop\\CGIProject\\autoprimercode\\windowsversion'],
binaries=[],
datas=[],
hiddenimports=['tkinter', 'Tkinter'],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher,
noarchive=False)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
[],
exclude_binaries=True,
name='windowsautoprimer',
debug=False,
bootloader_ignore_signals=False,
strip=False,
upx=True,
console=True )
coll = COLLECT(exe,
a.binaries,
a.zipfiles,
a.datas,
strip=False,
upx=True,
name='windowsautoprimer')

最佳答案

有同样的问题,但后来意识到我无意中试图执行 build 文件夹中的文件,而不是 dist 文件夹中的文件。

看起来你可能在回溯中犯了同样的错误所以看看使用 dist 中的可执行文件是否不能为你修复它

关于python - Pyinstaller 生成的 exe 无法正常运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52728609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com