У меня есть команда, которая включает ctags для индексации большой директории с использованием python. Это выглядит следующим образом:Python ctags вызов подпроцесса в Mac OSX
cmd = ['ctags', '-R', '-f', 'tagfile', 'my_large_dir']
subprocess.call(cmd)
#wait for ctags to finish then go on
Это отлично работает на Win 7 и Ubuntu, но не на Mac OSX Mavericks.
Затем я пытаюсь запустить фактическую команду ctags с терминала, и она отлично работает.
Затем я пытаюсь запустить команду touch из python, чтобы увидеть, есть ли у python некоторое отвращение к созданию файлов в моей директории, и это прекрасно работает.
Однако, когда я запускаю команду выше, она просто зависает при вызове подпроцесса.
Любые идеи? Я в тупике, и мне нужно, чтобы понять это в пятницу :(
Update:
Я забыл упомянуть, что я уже установил правильную версию Ctags из Homebrew Как жэнь отметила, хотя, когда я. использовал brew install ctags
(уведомление не использовалось sudo), оно было помещено в/usr/local/bin/ctags, когда я искал/usr/bin/ctags, который по-прежнему был неверным. По какой-то причине версия в/usr/bin/просто болтался, как это было в бесконечный цикл где-то ... странный.
Во всяком случае, я указал команду на правильный путь, и она работала.
Вся суть и смысл существования Homebrew - это то, что вы ** не ** должны использовать sudo. –
Я уже сделал это, но использовал неправильные ctags. Я использовал тот, который был в моем/usr/bin каталоге, который был неправильным. Спасибо за исправление. Как только я указал/usr/local/bin/ctags, он работал как шарм :) – onetwopunch