【问题标题】:VS Code Debugger: Import error, no module named scrapyVS 代码调试器:导入错误,没有名为 scrapy 的模块
【发布时间】:2021-10-12 09:28:24
【问题描述】:

我可以在 vs 代码上运行所有的爬虫,没有任何错误。但是当我尝试运行调试器时,它会引发异常

No module named scrapy

我在 MacOS 上。我也可以从终端正确运行scrapy命令。

【问题讨论】:

    标签: python scrapy vscode-debugger


    【解决方案1】:

    尝试在调试模式下从 cmd 运行脚本

    python -m debugpy --listen 5678 --wait-for-client ./__main__.py
    

    确保使用python -m pip install debugpy安装它

    然后在调试器中配置一个launch.json文件附加到监听5678端口的python脚本

    {
      "name": "Python: Attach",
      "type": "python",
      "request": "attach",
      "connect": {
        "host": "localhost",
        "port": 5678
      }
    }
    

    完整的文件看起来像这样

    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "Python: Attach",
                "type": "python",
                "request": "attach",
                "connect": {
                    "host": "localhost",
                    "port": 5678
                }
            }
        ]
    }
    

    然后在程序中设置断点并从 vscode 启动调试器

    还要检查调试时运行的版本是否和正常使用的一样,创建一个空白文件,内容如下

    import sys
    
    def main():
        print(sys.version)
    
    if __name__ == "__main__":
        main()
    

    下面会打印出类似的东西

    3.6.9 (default, Jan 26 2021, 15:33:00) \n[GCC 8.4.0]

    如果你选择了正确的 python 版本,也可以从 vscode 底部的状态栏检查。

    更多关于第一部分here

    【讨论】:

    • 对不起,我是初学者。我在第二步失去了你。 “然后将调试器配置为附加到端口 5678 上的调试侦听”。你的意思是我应该在launch.json配置中添加上面的配置。当我尝试使用上述设置运行 vs 代码调试器时,它给了我一个连接被拒绝的错误。
    • @KoijamK 你需要创建一个launch.json 来调试你的程序。还要在 python 脚本的名称前添加--wait-for-client。我会更新我的答案。
    猜你喜欢
    • 2020-04-23
    • 2022-10-07
    • 2021-07-01
    • 2020-12-02
    • 1970-01-01
    • 2018-07-10
    • 2015-11-30
    • 2012-05-25
    • 2012-03-16
    相关资源
    最近更新 更多