python - 如何在我的脚本所在的目录中使用 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] 系统找不到指定文件
解决方案
import subprocess
subprocess.call(["npm","init"])
subprocess.call(["npm","install"])
在 test.py 脚本中尝试此代码,运行 python 脚本时 package.json 应该存在于同一文件夹中
推荐阅读
- python-3.x - argparse 位置参数 '*'
- html - 如何将内部的 div 边框触摸到外部的 div 底部?
- node.js - 让 https express 节点应用程序在共享主机上工作
- firebase - 为什么删除所有文档和集合时,firestore 不删除存储的字节和对象?
- ssl - Branch.io - 设置自定义根域
- git - 一个文件可以由git中的多个blob组成吗?
- haskell - XMonad 按键功能如何减少?
- laravel - 带有确认页面的 Laravel 联系表
- vue.js - 如果我导入 printjs,vuejs 组件不会呈现
- android - 如何仅在纵向模式下设置 libgdx livewallpaper 屏幕方向?