#python #windows #winapi #build #onnxruntime
#python #Windows #winapi #строить #время выполнения onnxruntime #сборка #onnxruntime
Вопрос:
Я пытаюсь создать onnxruntime из исходного кода, но я сталкиваюсь со следующей проблемой.
После выполнения
git clone https://github.com/microsoft/onnxruntime.git
cd onnxruntime
./build.bat
Я сталкиваюсь со следующей ошибкой
2020-08-31 11:14:05,414 Build [DEBUG] - Defaulting to running update, build [and test for native builds].
2020-08-31 11:14:05,414 Build [INFO] - Build started
2020-08-31 11:14:05,414 Build [DEBUG] - Running subprocess in 'C:Usersxxxonnxruntime'
['git', 'submodule', 'sync', '--recursive']
Traceback (most recent call last):
File "C:Usersxxxonnxruntime\toolsci_buildbuild.py", line 1795, in <module>
sys.exit(main())
File "C:Usersxxxonnxruntime\toolsci_buildbuild.py", line 1603, in main
update_submodules(source_dir)
File "C:Usersxxxonnxruntime\toolsci_buildbuild.py", line 409, in update_submodules
run_subprocess(["git", "submodule", "sync", "--recursive"], cwd=source_dir)
File "C:Usersxxxonnxruntime\toolsci_buildbuild.py", line 400, in run_subprocess
completed_process = subprocess.run(
File "C:UsersxxxAnaconda3libsubprocess.py", line 489, in run
with Popen(*popenargs, **kwargs) as process:
File "C:UsersxxxAnaconda3libsubprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:UsersxxxAnaconda3libsubprocess.py", line 1307, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified
Я попытался уточнить версию Visual Studio, хотя я не уверен, что это проблема. Добавление тега --msvc 16.7.2
приводит к той же ошибке. Это похоже на довольно общее сообщение об ошибке, возможно, не относящееся к сборке onnxruntime.
Использование административных привилегий не помогает.
В чем причина этой проблемы и что мне нужно сделать, чтобы ее устранить?
Ответ №1:
Вы должны использовать —recursive
для загрузки всех зависимых подмодулей:
git clone —recursive https://github.com/microsoft/onnxruntime.git
Если вы хотите создать его для Visual Studio, вам следует открыть «Командная строка разработчика для VS 2017» для Visual Studio 2017 или «Командная строка разработчика для VS 2019» для Visual Studio 2019.
Если вы используете Visual Studio 2019, вам следует добавить эту команду в конец вашей команды --cmake_generator "Visual Studio 16 2019"
, например:
cd onnxruntime
build.bat --cmake_generator "Visual Studio 16 2019"
Ответ №2:
Попробуйте использовать —recursive
для загрузки всех зависимых подмодулей. Что-то вроде: git clone —recursive https://github.com/microsoft/onnxruntime.git cd onnxruntime ./build.bat