我正在使用名为pattern.de(http://www.clips.ua.ac.be/pages/pattern-de)的模块来实现文本挖掘工具。为了让我的同事可以使用它,我想将其转换为独立的应用程序。那是因为我正在使用PyInstaller。当我运行最终的可执行文件时,我得到以下ImportError
Traceback (most recent call last):
File "<string>", line 4, in <module>
ImportError: No module named pattern.de
test returned -1
LOADER: OK.
LOADER: Cleaning up Python interpreter.
为了更容易找到解决方案,我将脚本缩减到关键部分:
from pattern.de import parse, split
这是我开始创建PyInstaller的原因:
pyinstaller --onedir --name=test --hiddenimport pattern.de --debug "C:\Users\BBlag\PycharmProjects\LDA\test.py"
如您所见,我将pattern.de显式添加为hiddenimport。但是当PyInstaller运行时,它向我显示它无法找到模块:
108 INFO: Analyzing hidden import 'pattern.de'
1215 ERROR: Hidden import 'pattern.de' not found
我对编程很陌生,所以请原谅这个问题是否微不足道。我一直想知道它是否可以与事实有关,模块本身(当它被下载和安装时)简称为“模式”。 'Pattern.de'用于导入包的德语版本。这就是为什么我也试图隐藏进口'模式'。当我这样做时,我没有从PyInstaller收到上述错误(这里找到了正确的模块),但在执行最终应用程序时,我得到以下类似的错误:
Traceback (most recent call last):
File "<string>", line 4, in <module>
ImportError: No module named de
test returned -1
LOADER: OK.
LOADER: Cleaning up Python interpreter.
该应用程序显然缺少此处的“de part”。我做错了什么?
答案 0 :(得分:0)
(后代)
我在'pattern.en'中遇到了类似的问题。当我告诉pyinstaller导入'pattern.text'时,我的问题得到解决。 'en','de'等实际上包含在该目录中。
答案 1 :(得分:-1)
pattern.en和en-model.slp也有类似的问题。我想出了一个临时修复程序,该修复程序对我很有效。不过,可能有更好的解决方法: