刮痧+;EclipsePydev:如何设置调试器?

刮痧+;EclipsePydev:如何设置调试器?,eclipse,pydev,scrapy,Eclipse,Pydev,Scrapy,我已经用我的Scrapy项目成功地安装了Eclipse 我通过设置一个新的运行/调试配置来实现: 其主要模块为我链接到Scrapy/usr/local/bin/Scrapy(我发现使用cmdline.py的建议,但在我的计算机上失败了(OSX Lion&Scrapy是通过easy_安装安装的) 在我的例子中定义发送“crawl ny”的参数,就像使用Scrapy命令行一样 设置正确的工作目录(本例中为${workspace\u loc:My Project/src}) Eclipse可以成功

我已经用我的Scrapy项目成功地安装了Eclipse

我通过设置一个新的运行/调试配置来实现:

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

Eclipse可以成功启动我的项目,但我没有debbuger。我缺少断点和变量检查,有人知道如何在这个环境中设置debbugger吗?

好吧,如果您已经从Eclipse内部正确运行了debbugger,这不就是在调试模式下运行它的问题吗

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

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

以上建议对我都不起作用。事情会顺利进行,但不会触发断点

我在本地项目中添加了一个main.py文件,并连接到scrapy命令行,如下所示:

import scrapy.cmdline

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

if  __name__ =='__main__':
    main()

这可以很容易地进一步改进,以便传入spider名称,使每个spider具有不同的调试配置。

以下是我如何在项目目录之外的虚拟环境中使用Scrapy包解决我的环境中的问题:

1) 从项目内部创建指向cmdline.py的simlink,类似于:

ln -s ../venv/lib/python3.4/site-packages/scrapy/cmdline.py cmdline.py
2) 刷新项目以便可以看到它,然后将其设置为调试配置中的主模块


3) 在调试配置的“Arguments”选项卡中,它显示“Working Directory”,选择Other,然后输入或使用按钮导航到项目中的Scrapy目录。

我认为自定义主模块会禁用此功能。我知道如何使用Eclipse,但调试模式不起作用。