Scapyd从.egg文件中引发NotADirectoryError

时间:2017-08-31 10:28:15

标签: python python-3.x egg scrapyd

我使用Scrapyd动态运行我的蜘蛛。我添加了.txt文件,其中包含一个块字列表。我的问题如下: 当我将Scrapyd服务器作为守护程序运行时,它在报废期间引发了错误:

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])

更新:我修复了这个问题,需要使用pkg_resources.resource_stream(resource_package,resource_path)从.egg文件加载文件

1 个答案:

答案 0 :(得分:0)

我修复了这个问题,需要使用pkg_resources.resource_stream(resource_package,resource_path)从.egg文件加载文件