如何从python脚本安装npm包?在
当我使用subprocess.Popen(["node", "app.js"])
时,可以
当我使用subprocess.Popen(["npm", "install", "open"])
时,会抛出一个错误。在
抱歉,谷歌和DuckDuckGo今天不是我的朋友(
主要问题-我的小实用程序需要自动本地安装软件包,因为全局软件包在windows中不工作。在
PS.我不得不问这个问题,因为我正试图为Sublime Text 2开发一个插件。在
这是Sublime python控制台中的错误:
Reloading plugin …\stsync.py
Traceback (most recent call last):
File ".\sublime_plugin.py", line 103, in create_application_commands
cmds.append(class_())
File ".\stsync.py", line 16, in __init__
File ".\subprocess.py", line 633, in __init__
File ".\subprocess.py", line 842, in _execute_child
WindowsError: [Error 2]
第16行:subprocess.Popen(["node", "npm", "install", "open"])
如果我将第16行改为子流程.Popen([“node”,“npm”,“install”,“open”])
然后python脚本将成功调用nodejs终端,但随后将失败,并出现错误:cannot find npm module
在Windows上,许多节点.js“二进制文件”实际上以
.cmd
文件扩展名作为后缀,在通过subprocess.Popen
调用期间,无论出于什么原因,它都不会扩展(即使PATHEXT
可能包含.cmd
)。在因此,为了获得正确的解决方案(不使用
shell=True
),请尝试将.cmd
追加到节点.js需要二进制文件:当然,它会抛出一个错误,因为我在那个目录中没有
^{pr2}$package.json
。请使用其他常用程序重试,例如webpack
:好吧,再加上
.cmd
:将
shell
参数设置为True相关问题 更多 >
编程相关推荐