pyinstaller 生成的 exe 文件执行有问题
Posted
技术标签:
【中文标题】pyinstaller 生成的 exe 文件执行有问题【英文标题】:exe file made by pyinstaller has problem executing 【发布时间】:2021-06-22 10:00:51 【问题描述】:这里是python脚本:
我使用 Visual Studio Code 通过以下命令运行文件:
我得到了想要的结果:
现在我尝试通过在我的脚本所在的文件夹中打开 PowerShell 来创建 .exe 文件,并且 运行下一行:
这是我得到的东西(不包括 otherScripts 文件夹):
现在我打开 CMD,导航到所需的文件夹,然后使用下一行代码运行 .exe 文件:
这是我收到的第一个警告:
这是我作为 Traceback 得到的(控制台立即关闭,我无法使用截图工具来捕获错误,所以我通过 C# Win Form 应用程序运行它并将标准错误重定向到表单中的标签) :
我试过了:
-
pip 安装变压器 -U。
代替--onefile,使用命令--onedir
脚本中的第 3 行(导入 tqdm)最近被添加以尝试修复错误。因为它说“tqdm 没有找到,是应用程序需要的”,所以我就放在那里了。
将 pyinstaller 和转换器更新到最新版本。
其他我现在不记得了。
这些都不起作用。我有点卡在这里。 对于解决此问题的任何帮助,我将不胜感激。
【问题讨论】:
【参考方案1】:尝试使用--exclude-module=torch
构建?(取自:https://github.com/pyinstaller/pyinstaller/issues/4695)
【讨论】:
您好,感谢您的回复。这只修复了警告:“文件已经存在,但不应该存在。” Traceback(最近一次通话最后一次)之后,一切都一样。 您是如何安装 TDQM 的?使用 pip 还是 Python? 我想我是用 pip 安装的。我刚刚在cmd中尝试过,我写道:pip install tdqm,它说要求得到满足:tqdm in C:\... 尝试使用python -m pip install tqdm
,然后使用python -c 'import tqdm'
(取自:github.com/tqdm/tqdm/issues/497)
在第一行:python -m pip install tqdm,我得到一个回复,Requirement already meet: tqdm in c:\... 第二行:python -c 'import tqdm' ,我得到一个重播:文件“对我来说,将“tqdm 目录”添加到数据解决了这个问题 :)
在脚本.spec:
datas=[
('C:\\<...>\\Lib\\site-packages\\tqdm', 'tqdm\\'),
('C:\\<...>\\Lib\\site-packages\\tqdm-4.50.2.dist-info', 'tqdm-4.50.2.dist-info\\'),
...],
【讨论】:
啊,问题才刚刚开始! ...不得不以这种方式添加大约 10 - 15 个包... 好吧。我实际上是使用其他一些 python 库让它工作的。我有点浪费了很多时间试图修复我不太了解的东西。所以我只是使用了另一种解决方案进行总结。 使用的库是 gensim。 我正在使用转换器进行翻译 (MarianMT) :)以上是关于pyinstaller 生成的 exe 文件执行有问题的主要内容,如果未能解决你的问题,请参考以下文章
pyinstaller 模块-python文件生成exe可执行文件
使用pyinstaller打包Python应用,生成EXE执行文件
pyinstaller打包生成的exe文件并使用python终止后台的exe程序运行
有没有办法创建从 pyinstaller --onefile 生成的单个可执行 exe 文件的 MSI 包?