【问题标题】:Run npm commands using Python subprocess使用 Python 子进程运行 npm 命令
【发布时间】:2015-03-06 01:43:11
【问题描述】:

我正在尝试使用 YUIDOC 自动生成文档,但我有一个大量使用 python 的服务器端框架,因此我正在尝试从 python 脚本中自动执行所有操作。我能够让 node 命令正常运行,但是每当我尝试使用 npm 安装的东西时,python 都不高兴。我的项目使用 Buildout 而不是 virtualenv,但理想情况下,我希望能够从独立的 python 文件中运行这些命令。

也许一些代码可以帮助解释我的情况:

import subprocess
subprocess.check_call('node --help')

#SUCCESS

import subprocess
subprocess.check_call('npm --help')

#FAIL
#WindowsError: [Error 2] The system cannot find the file specified

import subprocess
subprocess.check_call('yuidoc --help')

#FAIL
#WindowsError: [Error 2] The system cannot find the file specified

我已经尝试将 yuidoc 和 npm 文件所在的文件夹添加到 python 的 sys.path 中,但这不起作用。

ps,这有点类似于this question 的问题。

【问题讨论】:

    标签: python node.js npm yuidoc


    【解决方案1】:

    我需要在 check_call 中指定shell=True

    subprocess.check_call('npm --help', shell=True)
    
    subprocess.check_call('yuidoc --help', shell=True)
    

    【讨论】:

      猜你喜欢
      • 2020-07-25
      • 2021-12-07
      • 2021-11-10
      • 1970-01-01
      • 2021-04-03
      • 2018-08-13
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      相关资源
      最近更新 更多