当前位置:   article > 正文

pycharm打开sumo_please declare environment

please declare environment

通过py文件打开sumo,还可以对sumo中一些文件进行配置。

如果显示

   import traci
ModuleNotFoundError: No module named 'traci'
或者import traci、from sumolib import checkBinary报错,那就是因为没有按照下述步骤实现;

1、找到python或Anaconda3(根据自己python安装)情况来定

2、找到traci.pth

3、利用记事本打开traci.pth,将自己SUMO目录下的tools路径放置里面

PS:如果发现你没有管理员权限进行修改,你可以先将文件复制在桌面,然后修改完之后进行代替就行。

最后在你所需运行的sumo文件创建py文件即可。注意代码的打开路径

  1. import traci
  2. import os
  3. import time
  4. import sys
  5. from sumolib import checkBinary
  6. if "SUMO_HOME" in os.environ:
  7. tools = os.path.join(os.environ['SUMO_HOME'],'tools')
  8. sys.path.append(tools)
  9. else:
  10. sys.exit("please declare environment variable 'SUMO_HOME'")
  11. #相关的配置的声明,比如运行的是哪一个sumocfg,
  12. #是否要有GUI(Graphical User Interface 图形化用户接口)
  13. show_gui = True
  14. sumoconfig_path = r'D:/new_project/vehicle/test_02/map.sumo.cfg'
  15. if not show_gui:
  16. sumoBinary = checkBinary('sumo')
  17. else:
  18. sumoBinary = checkBinary('sumo-gui')
  19. traci.start([sumoBinary,'-c',sumoconfig_path])
  20. for step in range(0,200):
  21. time.sleep(1)
  22. #操控时间
  23. traci.simulationStep(step + 1)
  24. simulation_current_time=traci.simulation.getTime()
  25. print("仿真时间是",simulation_current_time)
  26. #获取所有车的ID
  27. all_vehicle_id = traci.vehicle.getIDList()
  28. #获取所有车的position
  29. all_vehicle_position = [(i,traci.vehicle.getPosition(i))for i in all_vehicle_id]
  30. #获取所有车是否经过过车线
  31. print(all_vehicle_position)
  32. traci.close()

py文件运行自动打开sumo的cfg文件

第一次写文章,如有不全请多多包涵。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/645659
推荐阅读
相关标签
  

闽ICP备14008679号