Sau đó, tất cả những gì bạn phải làm là đảm bảo rằng bạn import sys
trong tập lệnh python của mình, sau đó bạn có thể truy cập arg1
bằng cách sử dụng sys.argv[1]
, arg2
bằng cách sử dụng sys.argv[2]
, v.v.
Để gửi dữ liệu trở lại nút, chỉ cần thực hiện các thao tác sau trong tập lệnh python
print[dataToSendBack] sys.stdout.flush[]
Và sau đó nút có thể lắng nghe dữ liệu bằng cách sử dụng
pythonProcess.stdout.on['data', [data] => { // Do something with the data returned from python script }];
Vì điều này cho phép nhiều đối số được chuyển đến một tập lệnh bằng cách sử dụng spawn, bạn có thể cấu trúc lại tập lệnh python để một trong các đối số quyết định gọi hàm nào và đối số còn lại được chuyển đến hàm đó, v.v.
Thích hợp để chạy trực tiếp các mô hình ML hoặc deep learning từ Node
Cài đặt
npm install node-calls-python
Câu hỏi thường gặp về cài đặt
Đôi khi bạn phải cài đặt điều kiện tiên quyết để làm cho nó hoạt động
Linux. cài đặt nút, npm, nút-gyp, python3, python3-dev, g ++ và tạo
Cài đặt nút
sudo apt install curl
curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt install nodejs
Cài đặt Python
sudo apt install python3
sudo apt install python3-dev
Cài đặt Node-gyp
sudo apt install make
sudo apt install g++
sudo npm install -g node-gyp
các cửa sổ. cài đặt NodeJS và Python
Cài đặt Node-gyp nếu thiếu
npm install --global --production windows-build-tools
npm install -g node-gyp
Mac. cài đặt XCode từ AppStore, NodeJS và Python
npm install node-calls-python
Nếu bạn thấy sự cố cài đặt trên Mac với ARM [E. g. sử dụng M1 Pro], hãy thử chỉ định tham số 'arch' và/hoặc 'target_arch' cho npm
npm install --arch=arm64 --target_arch=arm64 node-calls-python
ví dụ
Gọi một hàm python đơn giản
Giả sử bạn có mã python sau trong bài kiểm tra. py
import numpy as np def multiple[a, b]: return np.multiply[a, b].tolist[]
Sau đó, để gọi trực tiếp chức năng này, bạn có thể thực hiện việc này trong Nút
________số 8_______
Hoặc để gọi chức năng này bằng cách sử dụng phiên bản đồng bộ
const nodecallspython = require["node-calls-python"]; const py = nodecallspython.interpreter; py.import["path/to/test.py"].then[async function[pymodule] { const result = py.callSync[pymodule, "multiple", [1, 2, 3, 4], [2, 3, 4, 5]]; console.log[result]; }];
Tạo đối tượng python
Giả sử bạn có mã python sau trong bài kiểm tra. py
sudo apt install curl
curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt install nodejs
0Sau đó, để thể hiện lớp trực tiếp trong Node
sudo apt install curl
curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt install nodejs
1Hoặc để thể hiện lớp một cách đồng bộ và trực tiếp trong Node
sudo apt install curl
curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt install nodejs
2Chạy mã trăn
sudo apt install curl
curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt install nodejs
3Chạy mã python đồng bộ
sudo apt install curl
curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt install nodejs
4Thực hiện một số ML với Python và Node
Giả sử bạn có mã python sau trong logreg. py
sudo apt install curl
curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt install nodejs
5Sau đó, bạn có thể làm điều này trong Node
sudo apt install curl
curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt install nodejs
6Làm việc xung quanh các lỗi liên kết trên Linux
Nếu bạn gặp lỗi như thế này khi cố gắng gọi mã Python
sudo apt install python3
sudo apt install python3-dev
0Bạn có thể sửa nó bằng cách chuyển tên thư viện chia sẻ libpython của bạn tới fixlink
sudo apt install curl
curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt install nodejs
7Xem thêm ví dụ tại đây
Ánh xạ dữ liệu được hỗ trợ
Từ nút đến Python
sudo apt install curl
curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt install nodejs
8Từ Python đến nút
sudo apt install curl
curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt install nodejs
9