Синхронизация 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. Это могло бы помочь, или это могло сломать случайные другие вещи или не работать вообще.

Боюсь, вам придется потратить некоторое время на отладку этого самостоятельно. Сожалею.

Другие вопросы по тегам