You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VSCode/PyCharm中调试PyPSA-EUR脚本?

调试PyPSA-EUR中prepare_sector_network.py的方案指引

推荐方案选择

优先采用方案a(通过运行配置调用snakemake调试脚本),该方案完全贴合真实snakemake工作流环境,能精准复现脚本运行逻辑;方案b需手动模拟snakemake参数与依赖,易出现环境不一致问题;方案c目前不支持调试,暂不考虑。

VSCode的launch.json配置示例

创建或修改.vscode/launch.json,添加以下配置:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug PyPSA-EUR prepare_sector_network",
            "type": "python",
            "request": "launch",
            "module": "snakemake",
            "args": [
                "prepare_sector_network",
                "--cores", "1",
                "--configfile", "config/config.yaml"
            ],
            "cwd": "${workspaceFolder}",
            "env": {"PYTHONPATH": "${workspaceFolder}"},
            "justMyCode": false
        }
    ]
}
  • 说明:args中的prepare_sector_network为目标snakemake规则名,--configfile指定项目配置文件路径,--cores 1确保单进程运行便于调试;justMyCode设为false可让调试器进入snakemake相关模块,保证脚本内断点正常触发。

PyCharm运行配置示例

  1. 打开Run > Edit Configurations
  2. 点击+号,选择Python
  3. 填写配置参数:
    • Name: Debug PyPSA-EUR prepare_sector_network
    • Module name: snakemake
    • Parameters: prepare_sector_network --cores 1 --configfile config/config.yaml
    • Working directory: 选择PyPSA-EUR项目根目录
    • Environment variables: 添加PYTHONPATH=<你的项目根目录绝对路径>
    • 勾选Add content roots to PYTHONPATH和Add source roots to PYTHONPATH
  4. 点击Apply保存,启动调试即可

断点未生效的排查要点

若之前尝试方案a时断点未触发,检查以下内容:

  • VSCode需确认justMyCode未屏蔽脚本代码;PyCharm需确保调试选项未排除目标脚本所在目录
  • 配置的工作目录必须是PyPSA-EUR项目根目录,路径无拼写错误
  • 确认snakemake规则名与脚本对应,规则的script字段指向prepare_sector_network.py
  • 调试使用的Python解释器为PyPSA-EUR项目的虚拟环境,依赖包安装完整

关于mock_snakemake功能的说明

脚本末尾if __name__ == "__main__"模块中的mock_snakemake功能若已过时,不建议依赖该方式调试,优先使用方案a保证环境一致性。

内容的提问来源于stack exchange,提问作者Stefan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 18:44:59