Gọi hàm Node JS từ Python

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.

node-calls-python - gọi Python từ NodeJS trực tiếp trong quá trình xử lý mà không cần sinh ra các quy trình

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
0

Sau đó, để 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
1

Hoặ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
2

Chạy mã trăn

sudo apt install curl
curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt install nodejs
3

Chạy mã python đồng bộ

sudo apt install curl
curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt install nodejs
4

Thự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
5

Sau đó, 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
6

Là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
0

Bạ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
7

Xem 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
8

Từ Python đến nút

sudo apt install curl
curl -sL //deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt install nodejs
9

Làm cách nào để gọi hàm nút js từ Python?

Chương trình. gọi một hàm trong Python bằng Node. .
Mã Python- nhập sys def sum[firstVar,secondVar]. trả về firstVar + secondVar print[sum[sys. argv[1],sys. argv[2]]] sys. tiêu chuẩn. tuôn ra[].
Nút. Mã js- var app = require["express"][]; . .
child_ process là một gói nút

Làm cách nào để gọi hàm JavaScript trong Python?

Gọi JavaScript từ Python . Đây là một ví dụ hoàn chỉnh mà bạn có thể sao chép và dán vào tệp cục bộ và tải vào trình duyệt. Tôi thích bắt đầu một máy chủ web Python đơn giản để chạy các ví dụ. trăn -m http. máy chủ 9000. import the module js and call JavaScript functions using the js namespace. This is a complete example that you can copy and paste into a local file and load into the browser. I prefer to start a simple Python webserver to run examples: python -m http. server 9000 .

Tôi có thể sử dụng nút JS với Python không?

Mô-đun python-shell của extrabacon là một cách đơn giản để chạy các tập lệnh Python từ Node. js với giao tiếp giữa các quá trình cơ bản nhưng hiệu quả và xử lý lỗi tốt hơn.

Làm cách nào để kết nối nút js với Python?

Cách tích hợp tập lệnh Python/Ruby/PHP/shell với Node. .
Tích hợp với child_ process. giám đốc điều hành. Tạo PDF/ePub từ các tệp đánh dấu bằng pandoc và child_ process. giám đốc điều hành
Tích hợp với child_ process. đẻ trứng. Gọi lệnh shell và ghi nhật ký bằng child_ process. đẻ trứng

Chủ Đề