Пытаюсь использовать code_swarm, но у меня возникли некоторые проблемы со сценариями Python с производительностью на OSX
У меня проблемы с запуском этого:
link-mbp:codeswarm-0.1 benb$ python convert_logs/convert_logs.py -perforce-path
Traceback (most recent call last):
File “convert_logs/convert_logs.py”, line 408, in
main()
File “convert_logs/convert_logs.py”, line 350, in main
files = run_marshal(’p4 -G describe -s “‘ + changelist['change'] + ‘”‘)
KeyError: ‘change’
link-mbp:codeswarm-0.1 benb$
Я пытаюсь использовать code_swarm по этой ссылке http://blog.perforce.com/blog/?p=780&cpage=1 для визуализации изменений в моей кодовой базе.
если я запускаю p4 изменения, все показывает правильно, но код в этом скрипте Python, кажется, не обрабатывается правильно...
если я запускаю p4 опишите номер списка изменений, он правильно сообщит
идеи?
1 ответ
У меня была точно такая же проблема. Не будучи экспертом по 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.
Ваша проблема может быть такой же или другой, но, надеюсь, это поможет вам быстро ее отладить!