Pyinstaller-Python exe运行时显示错误“无法执行脚本pyi_rth_nltk”

时间:2020-05-07 14:29:32

标签: python nlp nltk pyinstaller

我用python用GUI开发了一个简单的软件。我实际上是在进行自然语言处理,我已经将整个NLP流程都放在了GUI中。

我尝试使用Pyinstaller将整个项目转换为python中的exe文件。我已成功将其转换为exe文件,但运行该文件时,它显示一条错误消息,如下所示 This is the image of my error

3 个答案:

答案 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无法找到要导入到目录的库和模块时,通常会出现此问题。但是我克服了这个问题,下面介绍了明智的解决方案,但乏味的方法,

  1. 使用console = True文件中的.spec将Python脚本转换为EXE,或者简单地说,在使用System Argmuents方法转换时不要添加--noconsole参数。 CMD)

  2. 成功构建文件后,进入相应目录(dist文件夹)并打开命令提示符

  3. 使用命令提示符运行Exe文件。

  4. 查找错误消息并相应地进行纠正。例如,考虑以下错误消息,vcomp140.dll目录中缺少\\sklearn\\libs

  5. 在此错误消息的结尾,您将找到Failed to load dynlib/dll ,因此,找到丢失的文件或程序。说,这里是.libs\\vcomp140.dll

  6. 使用C驱动器中的窗口搜索栏查找vcomp140.dll

  7. 复制特定文件,然后粘贴到缺少该文件的目录(“ 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
  1. 使用CMD再次执行以下步骤以消除每个错误。