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