Не могу запустить примеры Aimsun в FLOW
Я следовал руководству по установке и установил FLOW как локально, так и через Docker. В обоих случаях примеры SUMO работали, но примеры Aimsun не запускались.
На моем локальном компьютере с Ubuntu 18.04 я установил FLOW и SUMO и смог запустить пример SUMO flow/examples/sumo/sugiyama.py. Затем я последовал руководству по установке и загрузил / установил Aimsun 8.4.0 и Aimsun 8.3.1 в пути установки по умолчанию (/home/Aimsun_Next_8_4_0 и /home/Aimsun_Next_8_3_1).
Но на следующем шаге меня попросили запустить скрипт
scripts/setup_aimsun.sh
Однако код не выполняется, потому чтоPackagesNotFoundError: The following packages are not available from current channels: - python=2.7.4
, Я тогда использовалconda search python
чтобы увидеть, какие версии Python есть в наличии у Anaconda. Оказалось, что только версии отpython 2.7.13 hac47a24_15 pkgs/main
вpython 3.7.4 h265db76_1 pkgs/main
доступны. Поэтому я сдался и изменил сценарийpython=2.7.4
вpython=2.7
и запустил скриптscripts/setup_aimsun.sh
очередной раз. На этот раз установка прошла, и вместо 2.7.4 был установлен python 2.7.16. И выводactivate aimsun_flow
а такжеwhich python
произведенный/home/tong/anaconda3/envs/aimsun_flow/bin/python
, что ожидается.Затем я отредактировал файл /flow/config.py, чтобы включить недавно созданные пути:
AIMSUN_NEXT_PATH = "/home/tong/Aimsun_Next_8_3_1/" AIMSUN_SITEPACKAGES = "/home/tong/anaconda3/envs/aimsun_flow/"
Затем я попытался протестировать пример Aimsun с помощью команд:
conda activate flow
и 'python examples/aimun/sugiyama.py ', это сообщение об ошибке, которое я получил:
Traceback (most recent call last):
File "examples/aimsun/sugiyama.py", line 59, in <module>
exp = sugiyama_example()
File "examples/aimsun/sugiyama.py", line 52, in sugiyama_example
env = TestEnv(env_params, sim_params, scenario, simulator='aimsun')
File "/home/tong/github/flow/flow/envs/base_env.py", line 150, in __init__
self.k.scenario.generate_network(scenario)
File "/home/tong/github/flow/flow/core/kernel/scenario/aimsun.py", line 122, in generate_network
self.aimsun_proc = subprocess.Popen(aimsun_call)
File "/home/tong/anaconda3/envs/flow/lib/python3.6/subprocess.py", line 729, in __init__
restore_signals, start_new_session)
File "/home/tong/anaconda3/envs/flow/lib/python3.6/subprocess.py", line 1364, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/home/tong/Aimsun_Next_8_3_1/Aimsun_Next'
- В версии контейнера Docker Aimsun не предустановлен, поэтому пример Aimsun также не может быть запущен (проверьте ссылку на изображение): aimun_error
Не уверен, почему Aimsun не может быть запущен в обоих случаях. Может быть потому, что у меня нет точной версии python 2.7.4 в среде conda?