gpt4 book ai didi

python - pyinstaller 排除模块导致 "failed to execute script"

转载 作者:太空宇宙 更新时间:2023-11-04 04:52:10 29 4
gpt4 key购买 nike

我在命令提示符下用我的简单脚本创建了一个 exe:pyinstaller --onefile --exclude-module scipy myscript.py

当我打开 .exe 时,我收到一条消息“无法运行 myscript.exe 脚本”

但问题是当我不使用 exclude-module 时程序工作得很好..无论是否使用 scipy,它都可以正常工作(我只是将它添加进来以学习 exclude-module 命令)

这是我的 .spec 文件,由 pysinstaller 生成:

# -*- mode: python -*-

block_cipher = None


a = Analysis(['Simpletkinter.py'],
pathex=['C:\\Program Files (x86)\\Python36-32\\Scripts'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=['scipy'],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='Simpletkinter',
debug=False,
strip=False,
upx=True,
runtime_tmpdir=None,
console=False )

我计划在未来使用排除选项,因此非常感谢任何帮助!

贾里德

最佳答案

好的,我发现问题出在哪里了......您不能在脚本中使用“import scipy”,然后尝试将其从 pyinstaller 中排除。

我找到了一种解决方法,我只在我的每个函数中包含模块(它们都保存/组织在一个文件中并用于我制作的任何程序)

现在我可以去使用了:

pyinstaller --exclude-module scipy

这将成功删除 scipy,因为它仅列在一个函数中,该函数未用于我正在尝试转换为 EXE 的当前脚本

我现在还看到 python 只导入一次,即使你告诉它多次导入,所以这不应该减慢我的程序,即使我一直调用多次导入相同模块的函数

关于python - pyinstaller 排除模块导致 "failed to execute script",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47985796/

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