Как установить npm модули, используя скрипт python в каталоге, где находится мой скрипт - PullRequest
0 голосов
/ 28 января 2020

Структура файла должна выглядеть следующим образом:

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, в основном файле (ptvsdArgs)" c: \ Users \ Alifreeze.vscode \ extensions \ ms- python. python -2020.1 .58038 \ pythonFiles \ lib \ python \ old_ptvsd \ ptvsd__main __. Py ", строка 432, в основном
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 \ Программы \ Python \ Python37-32 \ lib \ runpy.py ", строка 96, в _ru n_module_code mod_name, mod_spe c, pkg_name, script_name) Файл "C: \ Users \ Alifreeze \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ runpy.py", строка 85, в _run_code exe c (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: File" 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] Системе не удается найти указанный файл

Ответы [ 2 ]

1 голос
/ 28 января 2020
import subprocess
subprocess.call(["npm","init"])
subprocess.call(["npm","install"])

попробуйте этот код в сценарии test.py, пакет. json должен присутствовать в той же папке при запуске сценария python

0 голосов
/ 28 января 2020

Это сработало для меня!

import subprocess
import os
dir_path = os.path.dirname(os.path.realpath(__file__)) #holds the directory where python script is located
os.chdir(dir_path)
subprocess.check_call('npm init', shell=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...