Scrapy + Eclipse PyDev:如何设置调试器?

时间:2012-03-21 17:20:49

标签: eclipse pydev scrapy

我已经使用我的Scrapy项目成功设置了Eclipse。

我是通过设置新的运行/调试配置来完成的:

  • 我的主要模块链接到Scrapy / usr / local / bin / scrapy(我发现使用cmdline.py但在我的计算机上失败的建议(OSX Lion& scrapy通过easy_install安装)
  • 在我的案例中定义发送“crawl ny”的参数,就像我使用Scrapy命令行一样
  • 设置正确的工作目录(在我的情况下为$ {workspace_loc:My Project / src})

Eclipse可以成功启动我的项目,但我没有debbuger。我错过了我的断点和变量检查,有没有人知道如何在这种环境下设置debbugger?

4 个答案:

答案 0 :(得分:9)

  • 将整个scrapy项目文件夹保存在PyDev下。
  • 您需要将主模块设置为scrapy / cmdline.py
  • 在您的情况下将arg设置为crawl ny

enter image description here

答案 1 :(得分:1)

上述建议均不适合我。事情会发生,但没有破发点会爆发。

我在我的本地项目中添加了一个main.py文件,并像这样挂钩到scrapy命令行:

import scrapy.cmdline

def main():
    scrapy.cmdline.execute(argv=['scrapy', 'crawl', 'wiki'])

if  __name__ =='__main__':
    main()

这可以很容易地进一步细化以传递蜘蛛名称以使每个蜘蛛具有不同的调试配置。

答案 2 :(得分:0)

好吧,如果你已经从Eclipse内部正确地运行它,那不就是在调试模式下运行它吗?

即:如果您按照以下说明操作:http://pydev.org/manual_101_run.html(关于设置为“始终启动先前启动的应用程序”),在常规模式下运行模块后,只需按F11即可在调试模式下运行模块。

答案 3 :(得分:0)

以下是我在环境中解决这个问题的方法,在项目目录之外的虚拟环境中使用Scrapy包:

1)从项目内部创建cmdline.py的simlink,如:

ln -s ../venv/lib/python3.4/site-packages/scrapy/cmdline.py cmdline.py

2)刷新项目以便您可以看到它,然后将其设置为调试配置中的主模块。

3)在"参数"调试配置中的选项卡,其中显示"工作目录",选择其他然后输入,或导航到使用项目中的Scrapy目录按钮。