Python 无法识别windows scrapyd部署

Python 无法识别windows scrapyd部署,python,python-2.7,scrapy,scrapyd,Python,Python 2.7,Scrapy,Scrapyd,我已经像这样安装了scrapyd pip install scrapyd 我想用剪贴画 当我打字的时候 我在cmd中遇到了这个异常: “scrapyd”不能识别为内部或外部命令、可操作程序或批处理文件 我也遇到了同样的问题,我也读到了一些关于scrapyd不可用/无法在windows上运行的意见,几乎放弃了它(我并不真的需要它,因为我打算部署到linux机器上,希望scrapyd在windows上用于调试)。然而,经过一些研究,我找到了一种方法。由于我还没有找到任何关于这方面的明确说明,我将尽

我已经像这样安装了scrapyd

pip install scrapyd
我想用剪贴画

当我打字的时候

我在cmd中遇到了这个异常:

“scrapyd”不能识别为内部或外部命令、可操作程序或批处理文件


我也遇到了同样的问题,我也读到了一些关于scrapyd不可用/无法在windows上运行的意见,几乎放弃了它(我并不真的需要它,因为我打算部署到linux机器上,希望scrapyd在windows上用于调试)。然而,经过一些研究,我找到了一种方法。由于我还没有找到任何关于这方面的明确说明,我将尽可能详细地给出我的答案,列出所有对我有效的步骤

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

  • 你已经安装了pip 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'
    
    2014-03-26 13:57:30+0200[-]日志打开。
    2014-03-26 13:57:30+0200[-]twistd13.2.0(C:\Python27\python.exe 2.7.6)正在启动。
    2014-03-26 13:57:30+0200[-]反应堆等级:twisted.internet.selectreactor.selectreactor。
    2014-03-26 13:57:30+0200[-]站点从6800开始
    2014-03-26 13:57:30+0200[-]启动工厂
    2014-03-26 13:57:30+0200[Launcher]Scrapyd 1.0.1开始:max_proc=16,runner='Scrapyd.runner'
    
  • 如果可以打开浏览器并转到
    http://localhost:6800
    那你就没事了。命令行窗口应该在后台保持打开状态,因为如果您关闭它,连接将被关闭

  • 在windows资源管理器上,导航到您的scrapy项目文件夹并编辑在其中找到的scrapy.cfg文件:例如,写入您的部署目标名称:[部署:scrapyd],并取消对url行的注释

  • 打开第二个命令行,并将cd刻录到scrapy项目文件夹中。类型:
    scrapy部署-l

  • 部署:键入:
    scrapy部署scrapyd-p project\u name
    (scrapyd是您的目标)。您应该得到服务器响应代码200和ok状态。您还可以通过键入:
    scrapy deploy-L scrapyd

  • 计划:您需要安装curl for windows。以下是方法: 类型:
    curlhttp://localhost:6800/schedule.json -d项目=项目名称-d蜘蛛=蜘蛛名称
    同样,您应该在浏览器中的
    http://localhost:6800
    在“作业”下,您可以检查作业是否确实已安排


我希望这有帮助

对我来说,上面提出的解决方案不起作用

下面是对我有用的内容:(适用于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\Scripts
,那么
scrapy
scrapyd deploy
两个命令都应该可以工作。

@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

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

pip install git+https://github.com/scrapy/scrapyd-client
这对我有用


多亏了

scrapyd部署
不起作用?请共享控制台output@pault. 我告诉过你cmd给了我什么,我得到的就是这个窗户?linux?我不是Windows的家伙对不起。我问around@pault. 是否有可能在windows上不提供scrapyd。我发现fomr这个网站是因为没有windows配置。谢谢。请只做一件事。您编写了
scrapy deploy-1
,它应该是
scrapy deploy-l
True。这是
scrapy部署-l
.TL;DR:scrapyd和scrapyd部署脚本可以在python安装的scripts文件夹中找到,它们实际上只是python脚本。一种解决方案是使用python解释器显式地调用它们。在将scrapyd部署文件复制到我的scrapy项目文件夹根目录并将
.py
文件扩展名添加到该文件后,我能够使其工作。然后,我可以从命令行调用
scrapyd-deploy.py-l
,等等。