2016-02-26 166 views
2

我使用名为pattern.de(http://www.clips.ua.ac.be/pages/pattern-de)的模块来实现文本挖掘工具。为了让我的同事可以使用它,我想将其转换为独立的应用程序。这对于我使用PyInstaller。当我运行最后的可执行文件,我得到以下的ImportErrorPyInstaller导入错误(使用模块pattern.de)

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

(作为后代)

我有'pattern.en'类似的问题。当我告诉pyinstaller导入'pattern.text'时,我的问题得到解决。 'en','de'等实际上包含在该目录中。