require('child_process').execFile() 不起作用?

require('child_process').execFile() does not work?

我有一个用 Flask 构建的 Web 应用程序,我想在 nw.js(也称为 node-webkit)的帮助下将它变成桌面应用程序。

我在网上发现要做到这一点,我需要编写一个脚本来执行 python 脚本,然后加载主页。

在我的例子中,python 脚本称为 'db_app.py',主页称为 'login.html'。

这是我的代码。

<script>

var gui = require('nw.gui');

var currentWindow = gui.Window.get(); // Get reference to loading.html

var exec = require('child_process');
exec.execFile('db_app.py', {cwd:'.'}, function (error, stdout, stderr){ 

var appWindow = gui.Window.open('templates/login.html', // Starts your    application
   { width: 800,
     height: 600,
     position: 'center',
     focus: false,
     transparent: false // This hides the application window
   }
);
appWindow.on('loaded', function() { // Waits for application to be loaded
   currentWindow.close({force: 'true'}); // Closes loading.html
     appWindow.show();  // Shows app.html
     appWindow.focus(); // Set the focus on app.html
});
});

</script>

我的问题是 python 脚本没有 运行。 login.html 页面已加载,但 python 代码无效。

知道我可能做错了什么吗?

提前谢谢你。

很可能是因为 execFile 没有创建 shell,所以它不知道如何找到 python 解释器。尝试:

exec.exec('python db_app.py', {cwd:'.'},function(..){..})