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

使用TraCI调用SUMO仿真时出现OSError: [WinError 193]错误求助

解决SUMO TraCI运行时WinError 193问题

错误原因

你代码里的核心问题是把SUMO的配置文件(.sumocfg)当成了SUMO的可执行程序路径,WinError 193本质是系统试图执行一个非可执行文件,因此触发报错。

解决步骤

  • 修正sumoBinary路径,指向SUMO安装目录下的可执行程序(通常是sumo.exe或sumo-gui.exe),比如利用已配置的SUMO_HOME环境变量拼接路径,避免硬编码带来的路径错误。
  • 确保sumoCmd参数逻辑正确:可执行程序路径在前,-c参数后紧跟你的配置文件路径(若配置文件不在脚本同目录,需写绝对路径)。
  • 额外检查:确认Python版本与SUMO的位数一致(均为32位或均为64位),避免位数不匹配导致的兼容性问题;同时验证SUMO_HOME环境变量确实指向SUMO的根安装目录。

修正后的代码示例

import os, sys
if 'SUMO_HOME' in os.environ:
    tools = os.path.join(os.environ['SUMO_HOME'], 'tools')
    sys.path.append(tools)
else:
    sys.exit("please declare environment variable 'SUMO_HOME'")

# 修正:通过SUMO_HOME拼接可执行文件路径,避免硬编码
sumoBinary = os.path.join(os.environ['SUMO_HOME'], 'bin', 'sumo.exe')
# 若需要可视化界面,可替换为sumo-gui.exe
# sumoBinary = os.path.join(os.environ['SUMO_HOME'], 'bin', 'sumo-gui.exe')

sumoCmd = [sumoBinary, "-c", "trial.sumocfg", '--log', 'logfile.txt'] 

import traci
traci.start(sumoCmd)
step = 0
while step < 1000:
    traci.simulationStep()
    if traci.inductionloop.getLastStepVehicleNumber("0") > 0:
        traci.trafficlight.setRedYellowGreenState("0", "GrGr") 
    step += 1

traci.close()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 01:20:10