Я использовал Pycharm IDE для разработки многопоточной программы на Python. Все отлично работает в режиме отладки. Среда IDE создает эту командную строку для запуска программы в режиме отладки:
E:\TSCExcelToolSet\venv\Scripts\python.exe "C:\Program Files\JetBrains\PyCharm 2018.1.3\helpers\pydev\pydevd.py" --multiproc --qt-support=auto --client 127.0.0.1 --port 51440 --file E:/TSCExcelToolSet/MainUserInterface.py
def initializeData(self):
# di.CSVImporter(self.configParser.get('SectionOne', 'Path'), sqlbase.engine)
self.progressBar.setValue(0)
self.progressBar.setVisible(True)
initializer = DataCollector()
self.threadInit = QThread()
self.threadInit.setObjectName('initThread')
initializer.moveToThread(self.threadInit)
# get progress messages from worker:
initializer.sig_step.connect(self.on_worker_step)
initializer.sig_done.connect(self.on_worker_done)
self.sig_abort_workers.connect(initializer.abort)
self.threadInit.started.connect(initializer.initializeData)
self.threadInit.start() # this will emit 'started' and start thread's event loop
Однако, когда он работает в режиме выполнения, он использует приведенную ниже командную строку, и потоковые части кода не работают.
E:\TSCExcelToolSet\venv\Scripts\python.exe E:/TSCExcelToolSet/MainUserInterface.py
Более того, что касается развертывания, что я должен сделать, чтобы решить эту проблему.