当前位置: 首页 > 知识库问答 >
问题:

如何在脚本所在的目录中使用python脚本安装npm模块

卓麒
2023-03-14

文件结构应如下所示:

测试。py

节点\u模块(包含已安装的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”,主文件(ptvsdArgs)第43行“c:\Users\Alifreeze.vscode\extensions\ms python.python-2020.1.58038\pythonFiles\lib\python\old\ptvsd\ptvsd\ptvsd\ptvsd_umain_uu.py”,主文件第432行
run()文件“c:\Users\Alifreeze。vscode\extensions\ms python。python-2020.1。58038\pythonFiles\lib\python\old\ptvsd\ptvsd\uuuuuu main\uuuu。py”,第316行,在运行文件runpy.run路径(目标,run_name='main')文件“C:\Users\Alifreeze\AppData\Local\Programs\Python\Python37-32\lib\runpy”中。py”,第263行,在运行路径pkg\u name=pkg\u name,脚本名称=fname)文件“C:\Users\Alifreeze\AppData\Local\Programs\Python\Python37-32\lib\runpy”中。py”,第96行,在代码mod\u name、mod\u spec、pkg\u name、script\u name)文件“C:\Users\Alifreeze\AppData\Local\Programs\Python\Python37-32\lib\runpy”中。py”,第85行,在“c:\Users\Alifreeze\Desktop\ShellScripts\npm”文件“c:\run\u code exec(code,run\u globals)中。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中,启动_new_session)文件“C:\Users\Alifreeze\AppData\Local\Programs\Python\Python37-32\lib\subprocess”。py“,第1178行,在_execute_child startupinfo)FileNotFoundError:[WinError 2]中,系统找不到指定的文件

共有2个答案

司空瑾瑜
2023-03-14

这对我管用!

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)
仇浩旷
2023-03-14
import subprocess
subprocess.call(["npm","init"])
subprocess.call(["npm","install"])

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

 类似资料:
  • 问题内容: 我的样子是这样的: 因此,首先,我必须分别运行每个脚本,例如or 等。我理想的情况是运行将执行以下操作的脚本: 运行html-minifier 运行节点ass 运行图像最小 运行http服务器 最后,观看我文件夹中的所有内容,并在文件更改(例如,等)时运行相应的脚本。 我怎样才能最好地解决这个问题? 问题答案: 您可以使用查看目录。 一个适合您的解决方案是创建三个监视脚本,每个任务一个

  • 我有一个构建应用程序的脚本。这需要在当前目录中创建一个新目录,在其中解压应用程序的脚手架文件。 在我的脚本末尾,我运行了一系列npm/node命令,如下所示(是对为托管应用程序而创建的子目录的引用;它在这些命令运行时存在): 然而,第一个命令似乎被忽略了;后续命令正在父目录而不是子目录中执行。 我读过这篇文章,其中明确指出npm支持cd操作,但也许我误解了什么(我不是npm向导)。我还尝试使用np

  • 问题内容: 我正在尝试将Spark与Python结合使用。我从下载页面安装了适用于Hadoop 2二进制发行版的Spark 1.0.2 。我可以在Python交互模式下浏览快速入门示例,但是现在我想编写一个使用Spark的独立Python脚本。该快速启动文件说只进口,但这并不工作,因为这不是我的PYTHONPATH。 我可以运行并看到模块安装在下方。我可以手动将其添加到我的PYTHONPATH环境

  • 我们如何以编程的方式安装 Composer? 如下载页面所指出的,这个安装程序包含一个签名,当安装程序代码发生改变时,它会随之发生改变,因此不应该长期依赖。 还有另一种方法,就是使用只对 UNIX 实用程序工作的脚本: #!/bin/sh EXPECTED_SIGNATURE="$(wget -q -O - https://composer.github.io/installer.sig)" p

  • 我有一个名为的密钥,我想在 的中访问它。 我的文件包含: 我如何访问内的的值,同时仍然保持它的秘密,因为我需要推送公开? 目前,我执行以下操作,但不能跨平台: 当运行脚本时,我会这样做: 这得益于Bash编程语言,但在Windows上不起作用。我需要用替换script中的 。但我希望它是跨平台的。还有别的办法吗?

  • 问题内容: 我想实现一个userland命令,该命令将使用其参数之一(路径)并将目录更改为该目录。程序完成后,我希望外壳位于该目录中。所以我想用外部程序来实现命令。 可以在python脚本中完成还是必须编写bash包装器? 例: 问题答案: 其他人指出,您不能从孩子那里更改父母的工作目录。 但是有一种方法可以实现您的目标-如果从shell函数中进行cd,则 可以 更改工作目录。将此添加到您的〜/