如何在使用pyinstaller安装时运行python命令



我有一个pyqt5项目,它有一个按钮。单击此按钮时,使用以下命令安装windows服务:

os.system('python myservice.py install')
os.system('python myservice.py start')

在此之后,安装并启动windows服务myservice。这只是整个应用程序的功能之一。我现在已经使用pyinstaller将该项目转换为app.exe。然后使用inno compiler,我创建了一个设置文件。

我正在另一个没有安装python的系统上安装该应用程序。pyinstaller在将python脚本转换为exe的同时,还绑定了当前的python解释器和已安装的包,因此在另一台电脑上运行应用程序非常正常。但当我点击安装服务按钮时,它不起作用,因为它以python myservice.py install的形式运行命令,并且因为没有安装python,所以它会出错。

我还通过在cmd上键入python来检查这一点,但它没有显示任何内容。有没有任何可能性,我可以运行python命令而不在另一台电脑上安装python。谢谢

首先,我建议使用subprocess.call而不是os.system

第二,如果您需要运行另一个python代码,可以从myservice.py创建另一个可执行文件,然后运行myservice.exe install

另一种选择是在一个编译的exe中有一个生成服务和UI的代码。但我认为这不是一个好办法。

最新更新