2017-08-31 77 views
0

我使用Scrapyd動態運行我的蜘蛛。我添加了.txt文件,其中包含一個塊字詞列表。我的問題是以下幾點: 當我再殺期間作爲後臺進程運行它引發的錯誤Scrapyd服務器:Scapyd從.egg文件中提出NotADirectoryError

NotADirectoryError: [Errno 20] Not a directory: '/tmp/exa-1504173770-gm023ynt.egg/exa/classificator/large.txt'

但是,如果我運行從項目目錄Scrapyd服務器,一切工作正常 這裏setup.py代碼

from setuptools import setup, find_packages 

    setup(
     name='project', 
     version='1.0', 
     packages=find_packages() + ['exa'], 
     entry_points={'scrapy': ['settings = exa.settings']}, 
     package_dir={'exa': 'exa'}, 
     package_data={'exa': ['classificator/large.txt']} 
    ) 

在這裏,我加載文件:

file_dict = open(file_name_dictionary, "r") 
self.correct_words = set() 
for word in file_dict: 
    self.correct_words.add(word[:-1]) 

回答

0

我修復了這個問題,需要使用pkg_resources.resource_stream(resource_package,resource_path)從.egg文件加載文件