Scapyd 从 .egg 文件中引发 NotADirectoryError

Scapyd raise NotADirectoryError from .egg file

我将 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 文件

加载文件

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