这是一个相当冗长的帖子,但经过广泛的研究后,我找不到解决方案.我对OSX 10.8混合Django的1.4.1/Scrapy 0.14.4项目,我控制Scrapy与Django项目的manage.py命令,描述在这里.例如,打电话
python manage.py scrapy crawl example_spider
Run Code Online (Sandbox Code Playgroud)
工作没有问题.现在,我正处于设置scrapydWeb服务以部署我的蜘蛛的地步.但是,当我执行时
python manage.py scrapy server
Run Code Online (Sandbox Code Playgroud)
然后我得到这个例外:
scrapy.exceptions.NotConfigured: Unable to find scrapy.cfg file to infer project data dir
Run Code Online (Sandbox Code Playgroud)
所以,显然Scrapy无法找到该scrapy.cfg文件,因为我没有在Scrapy项目中执行它.然而,其他Scrapy命令工作,因为在我的Django项目中settings.py我做了以下事情:
sys.path.append('/absolute/path/to/my/Scrapy/project')
os.environ['SCRAPY_SETTINGS_MODULE'] = 'my_scrapy_project_name.settings'
Run Code Online (Sandbox Code Playgroud)
问题1:为什么Scrapy无法scrapy.cfg在我的设置中检测到该文件?我该如何解决这个问题?
由于上面提到的东西不起作用,我试图scrapyd只使用scrapy我的Scrapy项目目录中的命令来运行服务器.scrapy server从我的Scrapy项目的顶级目录执行产生以下内容:
$ scrapy server
UserWarning: Cannot import scrapy settings module my_scrapy_project_name.settings
warnings.warn("Cannot import scrapy settings module %s" % scrapy_module)
2012-08-31 21:58:31+0200 [-] Log opened.
2012-08-31 21:58:32+0200 [-] Scrapyd web …Run Code Online (Sandbox Code Playgroud)