我是python和pyinstaller的新手,我正在构建一个小应用程序,其中我的main.py有两个按钮,单击时调用脚本,这是我的main.py文件:
import subprocess, button1script, button2script
qtCreatorFile = "notepad_grid.ui"
Ui_MainWindow, QtBaseClass = uic.loadUiType(qtCreatorFile)
class MyApp(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
Ui_MainWindow.__init__(self)
self.setupUi(self)
self.button1.clicked.connect(lambda:self.run('button1script.py'))
self.button2.clicked.connect(lambda:self.run('button2script.py'))
def run(self, path):
subprocess.call(['python',path])
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = MyApp()
window.show()
sys.exit(app.exec_())
这个应用程序在使用pyinstaller打包之前工作正常,我可以运行main.py并单击按钮调用相应的脚本并打开新窗口。在我使用命令“pyinstaller --onedir”main.py“”运行pyinstaller后,主exe文件可以正常工作但是当我点击按钮时出现错误信息:
Traceback (most recent call last):
File "MainApp.py", line 14, in <lambda>
File "MainApp.py", line 18, in run
File "subprocess.py", line 557, in call
File "subprocess.py", line 947, in __init__
File "subprocess.py", line 1224, in _execute_child
FileNotFoundError: [WinError 2] The system cannot find the file specified
运行pyinstaller时,所有文件都在同一个文件夹中。任何人都可以帮助弄清问题是什么?感谢