Синхронизация fetch/gclient завершается с ошибкой командной строки teamcity
Синхронизация fetch/gclient работает нормально из окна терминала на хосте Windows Server 2012 (64 бита). TeamCity build agent - это 32-битное приложение, и я не могу его изменить. Когда я пытаюсь запустить синхронизацию fetch/gclient в качестве шага сборки, происходит сбой. Вот сообщения об ошибках:
New python executable in C:\Windows\system32\config\systemprofile\.vpython-root\ac0e59\Scripts\python.exe
ERROR: The executable C:\Windows\system32\config\systemprofile\.vpython-root\ac0e59\Scripts\python.exe is not functioning
ERROR: It thinks sys.prefix is u'c:\\windows\\syswow64\\config\\systemprofile\\.vpython-root\\ac0e59' (should be u'c:\\windows\\system32\\config\\systemprofile\\.vpython-root\\ac0e59')
ERROR: virtualenv is not compatible with this system or executable
Note: some Windows users have reported this error when they installed Python for "Only this user" or have multiple versions of Python installed. Copying the appropriate PythonXX.dll to the virtualenv Scripts/ directory may fix this problem.
Команда, где python выводит следующее:
C:\>where python
C:\utils\depot_tools\python.bat
C:\DevTools\Python27\python.exe
Поэтому я думаю, что главная проблема здесь:
ERROR: It thinks sys.prefix is u'c:\\windows\\syswow64\\config\\systemprofile\\.vpython-root\\ac0e59' (should be u'c:\\windows\\system32\\config\\systemprofile\\.vpython-root\\ac0e59')
и у меня нет решения для этого.
Есть идеи как это исправить?
1 ответ
Вполне возможно, что 32-битные хосты сборки не поддерживаются "из коробки". Я не могу отладить его, потому что у меня нет доступа к такой машине.
Попробуйте изменить свой %PATH%
так что установленный системой Python предшествует depot_tools. Это могло бы помочь, или это могло сломать случайные другие вещи или не работать вообще.
Боюсь, вам придется потратить некоторое время на отладку этого самостоятельно. Сожалею.