问题
为什么Pyinstaller不能处理goose文件?是可执行创建者还是我的代码出了问题?
码
from goose.Goose import Goose
url =
'http://sociedad.elpais.com/sociedad/2012/10/27/actualidad/1351332873_157836.html'
g = Goose({'debug':False,'enableImageFetching': False,'localStoragePath':'./tmp'})
article = g.extractContent(url=url)
#article.title
print article.cleanedArticleText[:150].encode("utf8","ignore")来自Pyinstaller的错误日志
我的程序是用pyinstaller创建的,无法在此路径中找到goose文件:
IOError: Couldn't open file C:\Users\user\Desktop\dist\main.exe?118272\goose/resources/text/stopwords-en.txt这种情况会发生:
Traceback (most recent call last):
File "<string>", line 15, in <module>
File "C:\Users\user\Desktop\build\pyi.win32\main\out00-PYZ.pyz\goose.Goose",line 52, in extractContent
File "C:\Users\user\Desktop\build\pyi.win32\main\out00-PYZ.pyz\goose.Goose",line 59, in sendToActor
File "C:\Users\user\Desktop\build\pyi.win32\main\out00-PYZ.pyz\goose.Crawler", line 86, in crawl
File "C:\Users\user\Desktop\build\pyi.win32\main\out00-PYZ.pyz\goose.extractors", line 245, in calculateBestNodeBasedOnClustering
File "C:\Users\user\Desktop\build\pyi.win32\main\out00-PYZ.pyz\goose.text", line 97, in __init__
File "C:\Users\user\Desktop\build\pyi.win32\main\out00-PYZ.pyz\goose.utils",line 76, in loadResourceFile
IOError: Couldn't open file C:\Users\user\Desktop\dist\main.exe?118272\goose/resources/text/stopwords-en.txt怎么了?
发布于 2013-03-13 02:15:29
似乎goose需要数据文件,另外还需要Python源代码来进行正常操作。例如:它查找goose/resources/text/stopwords-en.txt。当您用PyInstaller冻结Python时,如果goose在标准文件系统位置查找它的资源文件,它们将不会出现,因为当您用PyInstaller创建可执行文件时,所有文件都在安装程序中。
因此,您必须告诉PyInstaller将这些额外资源添加到您的可执行文件中,然后修改goose代码,以便在从PyInstaller生成的exe运行时从另一个位置获取其资源。
详细信息在PyInstaller手册中的访问数据文件标题下。
https://stackoverflow.com/questions/15375057
复制相似问题