2

这很奇怪,因为自从我将 myOS 从 OSX MountainLion 更新到 Mavericks(DeveloperPreview5.1) 后,这种行为就被破坏了

我在 SublimeText3 插件代码中使用Python3.3subprocess函数。这里,子进程 Popen节点

p = subprocess.Popen(['node', '-v'],
        shell=False,
                        stdout=subprocess.PIPE,
                        stderr=subprocess.PIPE,
                        )

显然,我已经使用nvm安装了节点,并且由于此代码在 的上下文中运行/Applications/,所以我测试的node -v命令肯定适用于 zsh 和 bash 上的路径设置。

事实上,我在 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 的路径检测错误

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

4

0 回答 0