我用python用GUI开发了一个简单的软件。我实际上是在进行自然语言处理,我已经将整个NLP流程都放在了GUI中。
我尝试使用Pyinstaller将整个项目转换为python中的exe文件。我已成功将其转换为exe文件,但运行该文件时,它显示一条错误消息,如下所示 This is the image of my error
答案 0 :(得分:1)
我已经解决了,但是通过使用另一种将py转换为exe的方法,即cx_Freeze。
答案 1 :(得分:0)
今天早些时候,我遇到了同样的问题,终于可以使用以下软件版本运行它了:
Python 3.6.8,nltk 3.5和pyinstaller的开发版本:
pip install https://github.com/pyinstaller/pyinstaller/archive/develop.zip
此外,我使用了scikit-learn 0.21.1版。
答案 2 :(得分:0)
几天前,我在压缩到EXE时遇到了同样的问题。当PyInstaller无法找到要导入到目录的库和模块时,通常会出现此问题。但是我克服了这个问题,下面介绍了明智的解决方案,但乏味的方法,
使用console = True
文件中的.spec
将Python脚本转换为EXE,或者简单地说,在使用System Argmuents方法转换时不要添加--noconsole
参数。 CMD)
成功构建文件后,进入相应目录(dist文件夹)并打开命令提示符
使用命令提示符运行Exe文件。
查找错误消息并相应地进行纠正。例如,考虑以下错误消息,vcomp140.dll
目录中缺少\\sklearn\\libs
。
在此错误消息的结尾,您将找到Failed to load dynlib/dll
,因此,找到丢失的文件或程序。说,这里是.libs\\vcomp140.dll
使用C驱动器中的窗口搜索栏查找vcomp140.dll
。
复制特定文件,然后粘贴到缺少该文件的目录(“ dist”文件夹下)。在这里,目录为dist\\PyScriptToEXE\\sklearn\\.libs
MatplotlibDeprecationWarning:
The MATPLOTLIBDATA environment variable was deprecated in Matplotlib 3.1 and will be removed in 3.3.
exec(bytecode, module.__dict__)
Traceback (most recent call last):
...
...
...
py3.7.egg\PyInstaller\loader\pyiboot01_bootstrap.py", line 169, in __init__
__main__.PyInstallerImportError: Failed to load dynlib/dll 'C:\\Users\\MOHAMM~1\\AppData\\Local\\Temp\\_MEI38242\\sklearn\\.libs\\vcomp140.dll'. Most probably this dynlib/dll was not found when the application was frozen.
[13968] Failed to execute script try