首页 > 解决方案 > 如何在我的脚本所在的目录中使用 python 脚本安装 npm 模块

问题描述

文件结构应如下所示:

test.py

node_modules (包含已安装的 npm 模块的文件夹)

我试过这个:

import subprocess
import os
dir_path = os.path.dirname(os.path.realpath(__file__)) #holds the directory where python script is located
directory where python script is located
os.chdir(dir_path)
subprocess.call(["npm","init"])
subprocess.call(["npm","install"])

错误

回溯(最后一次调用):文件“c:\Users\Alifreeze.vscode\extensions\ms-python.python-2020.1.58038\pythonFiles\ptvsd_launcher.py”,第 43 行,在 main(ptvsdArgs) 文件“c: \Users\Alifreeze.vscode\extensions\ms-python.python-2020.1.58038\pythonFiles\lib\python\old_ptvsd\ptvsd__main__.py”,第 432 行,在 main
run() 文件“c:\Users\Alifreeze.vscode \extensions\ms-python.python-2020.1.58038\pythonFiles\lib\python\old_ptvsd\ptvsd__main__.py",第 316 行,在 run_file runpy.run_path(target, run_name=' main') 文件“C:\Users\Alifreeze\AppData\Local\Programs\Python\Python37-32\lib\runpy.py”,第 263 行,run_path pkg_name=pkg_name, script_name=fname) 文件“C:\Users\ Alifreeze\AppData\Local\Programs\Python\Python37-32\lib\runpy.py”,第 96 行,在 _run_module_code mod_name, mod_spec, pkg_name, script_name) 文件“C:\Users\Alifreeze\AppData\Local\Programs\Python \Python37-32\lib\runpy.py”,第 85 行,在 _run_code exec(code, run_globals) 文件“c:\Users\Alifreeze\Desktop\ShellScripts\npm.py”,第 6 行,在 subprocess.call([ "npm","init"]) 文件 "C:\Users\Alifreeze\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py",第 323 行,在调用 Popen(*popenargs, ** kwargs) 作为 p: 文件 "C:\Users\Alifreeze\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py",第 775 行,在init restore_signals, start_new_session) 文件 "C:\Users\Alifreeze\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py",第 1178 行,在 _execute_child startupinfo) FileNotFoundError: [WinError 2] 系统找不到指定文件

标签: pythonpython-3.xnpmnpm-install

解决方案


import subprocess
subprocess.call(["npm","init"])
subprocess.call(["npm","install"])

在 test.py 脚本中尝试此代码,运行 python 脚本时 package.json 应该存在于同一文件夹中


推荐阅读