无法识别Windows scrapyd-deploy

时间:2014-03-25 21:11:17

标签: python python-2.7 scrapy scrapyd

我已经像这样安装了scrapyd

pip install scrapyd

我想使用scrapyd-deploy

当我输入scrapyd

我在cmd中遇到了这个例外:

  

' scrapyd'不被识别为内部或外部命令,可操作程序或批处理文件。

4 个答案:

答案 0 :(得分:13)

我遇到了同样的问题,我也读到了一些意见,表示scrapyd不可用/无法在Windows上运行并且几乎放弃了(我并不真正需要它)在部署到Linux机器上,希望在Windows上使用scrapyd进行调试。然而,经过一些研究,我发现了一种方法。由于我没有找到任何明确的指示,我会尽量详细说明我的答案,列出对我有用的所有步骤。

假设您要在本地计算机上运行scrapyd,您将需要运行两个命令行:第一个用于连接到scrapyd并保持连接打开,第二个用于部署和调度。

  • 您已经安装了scrapyd。

  • 在此文件夹中创建一个文件夹C:\ scrapyd和一个名为scrapyd.log的空.log文件(不确定此步骤是否必要)。

  • 打开你的cmd并cd到Python里面的Scripts文件夹。这通常类似于:C:\ Python27 \ Scripts。输入:python scrapyd

  • 此时您应该看到类似的内容:

    2014-03-26 13:57:30+0200 [-] Log opened.
    
    2014-03-26 13:57:30+0200 [-] twistd 13.2.0 (C:\Python27\python.exe 2.7.6) starting up.
    
    2014-03-26 13:57:30+0200 [-] reactor class: twisted.internet.selectreactor.SelectReactor.
    
    2014-03-26 13:57:30+0200 [-] Site starting on 6800
    
    2014-03-26 13:57:30+0200 [-] Starting factory <twisted.web.server.Site instance at 0x0000000003F69208>
    
    2014-03-26 13:57:30+0200 [Launcher] Scrapyd 1.0.1 started: max_proc=16, runner='scrapyd.runner'
    
  • 如果您可以打开浏览器并转到http://localhost:6800,那么您就可以了。命令行窗口应在后台保持打开状态,因为如果您关闭它,连接将被关闭。

  • 在Windows资源管理器中导航到scrapy项目文件夹并编辑在那里找到的scrapy.cfg文件:编写部署目标名称:[deploy:scrapyd],例如,取消注释url行。

    < / LI>
  • 打开第二个命令行并cd到您的scrapy项目文件夹。输入:scrapy deploy -l

  • 部署:输入:scrapy deploy scrapyd -p project_name(scrapyd是您的目标)。您应该获得服务器响应代码200和ok状态。您也可以输入以下内容来检查部署是否成功:scrapy deploy -L scrapyd

  • 调度:您需要为Windows安装curl。以下是:questions/9507353/steps-to-setup-curl-in-windows 输入:curl http://localhost:6800/schedule.json -d project=project_name -d spider=spider_name 同样,您应该获得一个正常状态,并且在http://localhost:6800的浏览器中,您可以检查作业是否确实已安排。

我希望这会有所帮助。

答案 1 :(得分:1)

对我来说,上面提出的解决方案并没有起作用。

以下对我有用:(对于版本0.24中的scrapy)。

转到C:\Python27\Scripts并创建两个文件:

scrapy.bat

scrapyd-deploy.bat

使用记事本编辑这两个文件并粘贴:

scrapy.bat文件中:

@echo off
c:\Python27\python c:\Python27\Scripts\scrapy %*

scrapyd-deploy.bat文件中:

@echo off
c:\Python27\python c:\Python27\Scripts\scrapyd-deploy %*

然后保存这些文件并重新启动cmd。

如果C:\Python27\Python中有C:\Python27\ScriptsPATH,那么scrapyscrapyd-deploy这两个命令都应该有效。

答案 2 :(得分:1)

如果您使用pip install scrapyd-client安装scrapyed-client,我建议尝试以下命令:

pip install git+https://github.com/scrapy/scrapyd-client

对我有用。

感谢scrapyd-client command not found

答案 3 :(得分:0)

Marcin Rapacz的回答对我有用。但是,我用anaconda管理我的 python库。因此,文件应该在&#34; C:\ Program Files(x86)\ Anaconda3 \ Scripts&#34;中,文件中的内容应该改为:

@echo off
"C:\Program Files (x86)\Anaconda3\python.exe" "C:\Program Files 
(x86)\Anaconda3\Scripts\scrapyd-deploy" %1 %2 %3 %4 %5 %6 %7 %8 %9