2017-08-31 7 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

この問題を修正しました.eggファイルからファイルをロードするために、pkg_resources.resource_stream(resource_package、resource_path)を使用する必要があります

関連する問題