SUMO with TraCI,获取 OSError: [WinError 193] %1 is not a valid Win32 application

问题描述 投票:0回答:1

尝试使用 TraCI 协议运行 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'")

sumoBinary = "C:/Users/User/Desktop/Thesis_task/Trial_task/trial.sumocfg"
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()

我正在尝试连接 TraCI,但它抛出了这个错误:

OSError: [WinError 193] %1 不是有效的 Win32 应用程序

我已经正确安装了所有依赖项,并且在我的机器上运行了支持的 Python 版本。我遵循了一些较旧的 StackOverflow 解决方案,但它们都不适用于我的情况。

winapi subprocess sumo traffic-simulation
1个回答
0
投票

根据 TraCI 文档:

从 Python 连接 TraCI

首先,您编写命令行以启动

sumo
sumo-gui
(省略0.28.0之前需要的选项):

sumoBinary = "/path/to/sumo-gui"
sumoCmd = [sumoBinary, "-c", "yourConfiguration.sumocfg"]

但是,您的

sumoBinary
变量不指向这两个程序中的任何一个,而是指向您的
trial.sumocfg
文件

sumoBinary = "C:/Users/User/Desktop/Thesis_task/Trial_task/trial.sumocfg"

这显然不是可执行程序,因此出现错误。

© www.soinside.com 2019 - 2024. All rights reserved.