SUMO配置文件路径要求及TraCI连接失败问题咨询
SUMO配置文件路径与TraCI连接失败(WinError 10061)问题解决
配置文件路径说明
SUMO配置文件(.sumocfg)不需要必须放在SUMO安装目录或系统盘(如C盘),可以存储在任意路径下,只要启动时路径配置正确即可。
TraCI连接拒绝(WinError 10061)排查方案
针对你遇到的连接localhost端口被拒绝、触发FatalTraCIError的问题,按以下步骤排查:
确认SUMO启动命令的路径正确性
启动SUMO时必须指定正确的配置文件路径,路径中避免中文或空格(Windows环境下易引发路径解析错误)。建议使用绝对路径,例如:sumo -c "D:\sumo_project\my_config.sumocfg" --remote-port 51818若手动运行
sumo-gui能加载配置文件,说明配置文件本身无问题,重点排查代码中的路径配置。确保端口号匹配
TraCI连接的端口必须与SUMO启动时指定的端口一致。默认端口为8813,若你的代码使用了51818,启动SUMO时必须添加--remote-port 51818参数,否则会出现端口不匹配导致连接失败。检查SUMO进程是否正常启动
若通过Python的subprocess启动SUMO,需确认进程未因路径错误直接退出。可添加延迟等待SUMO初始化,或打印进程的错误输出排查问题:import subprocess import traci import time # 用绝对路径指定SUMO可执行文件和配置文件 sumo_path = "C:/Program Files/SUMO/bin/sumo.exe" cfg_path = "D:/sumo_project/my_config.sumocfg" sumo_cmd = [sumo_path, "-c", cfg_path, "--remote-port", "51818"] proc = subprocess.Popen(sumo_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE) time.sleep(2) # 等待SUMO启动完成 if proc.poll() is not None: stdout, stderr = proc.communicate() print("SUMO启动失败:", stderr.decode("gbk")) # Windows环境用gbk解码输出 else: traci.connect(port=51818) # 后续TraCI操作逻辑排查路径相对引用问题
.sumocfg文件中引用的net、route等文件如果用相对路径,是相对于SUMO启动时的工作目录,而非.sumocfg文件自身的目录。若启动SUMO时的工作目录与配置文件所在目录不同,需修改为绝对路径或调整工作目录。防火墙与环境变量检查
- 关闭系统防火墙或允许SUMO相关程序通过防火墙,避免端口连接被拦截。
- 确认SUMO的
bin目录已添加到系统环境变量,或在代码中使用SUMO可执行文件的绝对路径,确保Python能找到SUMO程序。
内容的提问来源于stack exchange,提问作者Prajwal Vinod
相关产品推荐
相关产品推荐

