У меня была точно такая же проблема. Не будучи экспертом по python, я отладил скрипт, используя оператор print в строке 350, например:
for changelist in changelists:
print changelist # <-- here
files = run_marshal('p4 -G describe -s "' + changelist['change'] + '"')
Это выявило мою проблему - я использовал псевдоним типа p4='p4 -C utf8'
, чтобы передать кодировку для исполнения. Поэтому, когда я запускаю его из командной строки, псевдоним обрабатывается, а команда describe
работает как чудо, но при вызове из python псевдоним не обрабатывается. Я только что взломал скрипт, заменив 'p4'
на 'p4 -C utf8'
в двух местах скрипта python.
Ваша проблема может быть той же или другой, но, надеюсь, это поможет вам быстро ее отладить!