是否可以在电子应用程序之外 运行 python 编码

is it possible to run python code outside of electron application

所以我用 javascript html css 等创建了一个桌面电子应用程序我有一个机器人,当用户单击按钮时我想 运行该机器人是用 python 编写的。 bot 所做的是使用 selenium 和 chrome 驱动程序进行网络抓取,我只是想知道是否有一种方法可以将 bot 及其源代码存储在客户端计算机之外,这样源代码是不可见的,并且仍然为客户端提供使用机器人进行网络抓取的能力。

抱歉,如果这是一个菜鸟问题,我来自 C++ 和 swift 移动开发,我是一名初级 CS 学生,所以我只是在自学新东西。

我同意 Chris G 的观点,认为使用 Python 的众多 Web 框架(Django、FastAPI、Flask 等)之一创建 Web 应用程序被认为是最佳实践.

或者,使用 python-shell 包,这可以用 electron 非常简单地完成:

const { app, BrowserWindow } = require('electron');
const pyshell = require('python-shell')

function createWindow() {
  window = new BrowserWindow({ width: 600, height: 450 });
  window.loadFile('index.html');
        
  pyshell.run('your_script.py', function (err, results) {
    if (err) {
      throw err;
    }
  });
}

app.on('ready', createWindow);

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
}

Source

然后,用一个简单的 python 脚本 your_script.py:

a = 'Foo'
b = 'Bar'
print(a + b)

这个例子很简单。如果您不想 运行 在发布您的应用程序时遇到任何兼容性问题,那么创建您自己的 API 网络将是您最好的选择。