[英]Node.js install Python dependencies from within package.json
我正在构建一个同时使用 Python 和 NPM 依赖模块的 Node.JS 项目。
Node.JS 模块位于package.json
中,python 依赖项位于文件requirements.txt
中。
我想通过运行npm install
从package.json
中安装所有依赖模块(Python 和 Node.JS)。
这可能吗?如何实现?
提前致谢!
这些文件如下所示。
包.json:
{
"name": "app",
"version": "1.0.0",
"description": "Trial app",
"main": "bin/index.js",
"scripts": {
"dev": "npm install",
"start": "node app.js",
"test": "jest --forceExit "
},
"keywords": [
"AI",
"Blockchain",
"Decentralized"
],
"dependencies": {
"peerjs": "^1.3.2",
"redis": "^3.1.2",
"socket.io": "^4.1.2",
"socket.io-client": "^4.1.2",
"wrtc": "^0.4.7"
},
"devDependencies": {
"@babel/core": "^7.16.7",
"supertest": "^6.1.6"
}
}
要求.txt:
Django==2.2.21
djangorestframework==3.7.7
django-rest-swagger
coreapi
您可以定义要在 package.json 的"scripts"
部分中运行的命令。 那里的每个脚本都可以使用npm run [scriptname]
。
所以你可以这样做( &&
在第一个命令之后运行另一个命令)
"scripts": {
"install": "npm install && pip -r requirements.txt",
"dev": "npm install",
"start": "node app.js",
"test": "jest --forceExit "
}
然后运行npm run install
将"dev": "npm install"
替换为"dev": "npm install & pip install"
向脚本添加“预安装”条目。
npm
、 yarn
和pnpm
将在安装dependencies
项和 'devDependencies` 之前自动执行preinstall
脚本:
包.json:
{
"scripts": {
"preinstall": "echo 'Installing Python Dependencies...' && pip install -r requirements.txt && pip install -r subproject/requirements.txt"
},
...
}
要同时安装 npm 和 python 依赖项,只需运行:
$> npm install
Installing Python Dependencies...
此外,npm 进程中还有其他钩子脚本,如“准备”,可能会有用。 脚本可以与... && npm run <script>
链接,因此“脚本”部分可以组织成小的原子部分,并通过链接它们来构建。 我使用“脚本”作为项目的构建和部署活动知识库,不仅在 JS 中,甚至在纯 Python 项目中都取代了 make 文件功能。
也可以将“package.json”挂钩到 python 脚本中,即创建类似“build_project.py”脚本的东西(或者任何适合你的名称,我已经使用“make.py”和“build.py”来少打字)特定于项目,在那里添加所有与 python 相关的东西,并从中运行npm
命令。 它可能比使用“package.json”中的“脚本”部分编码更多。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.