如何在 VS 代码中的 node.js 应用程序中使用它时导入 python 包
How to import python packages while using it in node.js application in VS code
我正在 node.js 开发一个测验应用程序。我需要一些 python 脚本来保存用户日志,所以我想使用键盘记录器在尝试测验时继续监视用户。
这是 python 键盘记录器脚本:
from pynput.keyboard import Key, Listener
import logging
log_directory = r"G:/Pythonin Node/Keylogger/key_logger/public/log_files/"
logging.basicConfig(filename = (log_directory+"keylog.txt"), level = logging.DEBUG)
def on_press(key):
logging.info(str(key))
with Listener(on_press = on_press) as listener:
listener.join()
脚本在 运行 中运行良好 pycharm.but 当我使用 python-shell 从节点应用程序调用它时我发现了一个错误:
{
traceback: "Traceback (most recent call last): File "script.py", line 1, in <module> from pynput.keyboard import Key, Listener ModuleNotFoundError: No module named 'pynput' ",
executable: "py",
options: null,
script: "script.py",
args: [
"xyz",
"abc"
],
exitCode: 1
}
这是简单的 json 响应。
这是我的节点代码:
app.get('/', callD_alembert);
function callD_alembert(req, res) {
var x="xyz";
var y="abc";
var options = {
args:
[
x,
y
]
}
PythonShell.run('./script.py', options, function (err, data) {
if (err) res.send(err);
res.send(data.toString())
});
}
python shell 执行简单的 python 脚本,当我使用“pynput”包并想要导入时,我不使用任何外部 package.but it.it 给出以下错误:
这里还有一个 运行 一个 python 解释器:
请帮我解决这个问题。
谢谢
看起来您正在 运行在不同环境中使用 python 解释器。
尝试将下面的代码添加到您的 python 脚本,然后 运行 来自 pycharm 并使用 PythonShell:
import sys
print(sys.executable)
如果打印的路径不同,请尝试修改您传递给 PythonShell 的选项,以便路径与您在通过 pycharm 运行脚本时拥有的路径相匹配:
var options = {
// replace this with the path you got by running the script in pycharm
pythonPath: 'path/to/python',
args:
[
x,
y
]
}
我正在 node.js 开发一个测验应用程序。我需要一些 python 脚本来保存用户日志,所以我想使用键盘记录器在尝试测验时继续监视用户。 这是 python 键盘记录器脚本:
from pynput.keyboard import Key, Listener
import logging
log_directory = r"G:/Pythonin Node/Keylogger/key_logger/public/log_files/"
logging.basicConfig(filename = (log_directory+"keylog.txt"), level = logging.DEBUG)
def on_press(key):
logging.info(str(key))
with Listener(on_press = on_press) as listener:
listener.join()
脚本在 运行 中运行良好 pycharm.but 当我使用 python-shell 从节点应用程序调用它时我发现了一个错误:
{
traceback: "Traceback (most recent call last): File "script.py", line 1, in <module> from pynput.keyboard import Key, Listener ModuleNotFoundError: No module named 'pynput' ",
executable: "py",
options: null,
script: "script.py",
args: [
"xyz",
"abc"
],
exitCode: 1
}
这是简单的 json 响应。
这是我的节点代码:
app.get('/', callD_alembert);
function callD_alembert(req, res) {
var x="xyz";
var y="abc";
var options = {
args:
[
x,
y
]
}
PythonShell.run('./script.py', options, function (err, data) {
if (err) res.send(err);
res.send(data.toString())
});
}
python shell 执行简单的 python 脚本,当我使用“pynput”包并想要导入时,我不使用任何外部 package.but it.it 给出以下错误:
这里还有一个 运行 一个 python 解释器:
请帮我解决这个问题。
谢谢
看起来您正在 运行在不同环境中使用 python 解释器。
尝试将下面的代码添加到您的 python 脚本,然后 运行 来自 pycharm 并使用 PythonShell:
import sys
print(sys.executable)
如果打印的路径不同,请尝试修改您传递给 PythonShell 的选项,以便路径与您在通过 pycharm 运行脚本时拥有的路径相匹配:
var options = {
// replace this with the path you got by running the script in pycharm
pythonPath: 'path/to/python',
args:
[
x,
y
]
}