这很奇怪,因为自从OSX MountainLion将myOS更新为Mavericks(DeveloperPreview5.1)后,行为被打破了
我在 SublimeText3 插件代码的 Python3.3 中使用 subprocess 函数。 这里,子进程Popen node
p = subprocess.Popen(['node', '-v'],
shell=False,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
)
显然,我已经使用nvm安装了节点,并且由于此代码在/Applications/
的上下文中运行,因此我测试node -v
命令肯定适用于zsh和bash上的路径设置。< / p>
事实上,我在OSX MountainLion上彻底测试了代码,所以认为没有错;但是,昨天,我将OSX升级为Mavericks(DeveloperPreview5.1),并发现代码出错。
FileNotFoundError: [Errno 2] No such file or directory: 'node'
确保我已将代码修改为
p = subprocess.Popen(['git', '--version'],
shell=False,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
)
这一次,我看到git --version
的预期结果。
所以,显然,我认为node
路径在SublimeText3上下文中以某种方式不被python3.3识别,但我确保该路径在bash / zsh下工作。
除了问这里,我什么都做不了。请指教。感谢。
编辑:我认为这是由于python3.3 + OSX Maverics的路径检测错误
当我提供节点的完整路径时,它可以工作。