【发布时间】:2014-01-05 20:26:37
【问题描述】:
我有一个涉及 ctags 的命令来使用 python 索引一个大目录。它是这样的:
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 命令,它工作正常。
然后我尝试从 python 运行一个触摸命令,看看 python 是否对在我的目录中创建文件有一些厌恶,并且工作正常。
但是,当我运行上面的命令时,它只是挂在子进程调用上。
有什么想法吗?我很难过,我需要在星期五之前解决这个问题:(
更新:
我忘了提到我已经从 Homebrew 安装了正确版本的 ctags。正如 ren 指出的那样,当我使用 brew install ctags(注意不使用 sudo)时,当我查看 /usr/bin/ctags 时,它被放入 /usr/local/bin/ctags,我相信它仍然有错误的版本.出于某种原因,/usr/bin/ 中的版本就像它在某处有无限循环一样挂起......奇怪。
不管怎样,我把命令指向了正确的路径并且它起作用了。
【问题讨论】:
标签: python macos subprocess ctags