我使用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文件加载文件
答案 0 :(得分:0)
我修复了这个问题,需要使用pkg_resources.resource_stream(resource_package,resource_path)从.egg文件加载文件