Hi all, I have a problem with "pyinstaller". When I compile a single Python file, an EXE file is created in the "dist" directory, with which I can start the program and the GUI appears after a few seconds. But when I try to compile my project with "pyinstaller Relais_LastDauerTester.py" and generate an EXE file from it, an ".exe" file is also created in the "dist" directory, but nothing happens when I run both .exe files from Windows Explorer with a double click or from the DOS shell by invoking it. The mouse pointer changes briefly to an hourglass and then back and nothing happens. The only difference between these two programs is that the first is just a single file and my project is structured hierarchically. I tried to demonstrate the structure of the project below with two "DIR" DOS commands. In PyCharm you only need to run the top file "Relais_LastDauerTester.py", so I used this file for "pyinstaller". But it looks like I have to give (I believe) an extra argument for a hierarchical project. I googled all weekend to find a workable solution. But all I found was for converting a ".py" file and not a project like mine. With some suggestions, I should add a "pause" or "input ()" command to the code to prevent the DOS shell from disappearing quickly, which is out of the question for me. Do you have any idea what it could be? I thank you in advance for any useful advice that could help me.
Greeting Mohsen PS I work on a PC with 1201 INFO: PyInstaller: 4.7 1202 INFO: Python: 3.9.5 1282 INFO: Platform: Windows-10-10.0.18363-SP0 Project Structure from PyCharm &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ...\SW\Relais_LastDauerTester_V0.5 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& <DIR> .idea <DIR> Logfiles <DIR> Relais_LastDauerTester 276 Relais_LastDauerTester.py <DIR> Screenshotfiles 405 settings.ini &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ...\SW\Relais_LastDauerTester_V0.5\Relais_LastDauerTester &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 9’308 GPIOControl.py 90’618 GUI_View.py 998 main.py 28’625 TestControl.py 269 __init__.py <DIR> __pycache__ Simplified project files with the "import" lines ******************************************************************* Relais_LastDauerTester.py.py ******************************************************************* #!/usr/bin/env python3 # -*- coding: utf-8 -*- from Relais_LastDauerTester.main import main if __name__ == "__main__": main() ******************************************************************* main.py ******************************************************************* import sys from PyQt5.QtCore import * from PyQt5.QtWidgets import QApplication from .GUI_View import MainWindow def main(): app = QApplication(sys.argv) window = MainWindow() window.show() sys.exit(app.exec_()) if __name__ == '__main__': main() ******************************************************************* GUI_View.py ******************************************************************* import sys import subprocess import PyQt5.QtGui as qtg from PyQt5.QtWidgets import (QLabel, QPushButton, QLineEdit, QCheckBox, QWidget, QVBoxLayout, QHBoxLayout, QGridLayout, QDialog, QFileDialog) from .TestControl import * class MainWindow(QWidget): def __init__(self): super().__init__() def createMainWindow(self): ... def exitMainWindow(self): ... def ChangeToPrefWindow(self): self.prefwindow.show() self.hide() class PrefWindow(QWidget): def __init__(self, parent=None): super().__init__() self.parent = parent ... self.createPrefWindow() def ChangeToMainWindow(self): ... def createPrefWindow(self): ... class CustomLineEdit(QLineEdit): clicked = pyqtSignal() def mousePressEvent(self, QMouseEvent): self.clicked.emit() class Keypad_Window_New(QDialog): def __init__(self, num=0, parent=None): super().__init__(parent) self.parent = parent ... TestContrl.py ******************************************************************* from PyQt5.QtCore import * from .GPIOControl import GPIOControl class WorkerSignals(QObject): signal_Update_Label = pyqtSignal() class TestControl(QRunnable): signals = WorkerSignals() def __init__(self, parent=None): super().__init__() self.parent = parent ... ******************************************************************* GPIOContrl.py ******************************************************************* class GPIOControl: def my_print(self, args): if print_allowed == 1: print(args) def __init__(self): -- https://mail.python.org/mailman/listinfo/python-list