用于node命令的Python3.3 SublimeText3子进程

时间:2013-08-13 04:55:23

标签: python-3.x subprocess sublimetext3

这很奇怪,因为自从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的路径检测错误

当我提供节点的完整路径时,它可以工作。

0 个答案:

没有答案