Мистика Python GUI (Kivy) и Multiprocessing | При создании процесса открывается ещё одно окно GUI
При запуске данного файла .py двойным щелчком, открывается терминал, GUI, и код работает без нареканий. (Работаю через обычный IDLE 3.9)
Однако, если Python файл скомпилировать в .exe при помощи того же pyinstaller, когда я нажимаю кнопку, в моём приложении, то программа накладывает поверх основго окна приложения ещё одно, и так можно создать хоть 200 одинаковых окон. При этом скрипт run_bot() не запускается. (Компилирую с терминалом, конечно же.)
Для удобства есть видеозапись - https://www.youtube.com/watch?v=2tdpZCc33OI
Вот мой простенький код, который при нажатии на кнопку должен запускать функцию run_bot()
from kivy.app import App
from kivy.uix.button import Button
import multiprocessing as mp
import time
def run_bot():
while True:
print('Working...')
time.sleep(2)
class MyApp(App):
def build(self):
self.btn=Button(
text='Старт',
font_size=30,
on_press=self.start,
background_color=(1,3,3,10)
)
return self.btn
def start(self,instance):
self.proc=mp.Process(target=run_bot)
self.proc.daemon=True
self.proc.start()
if __name__ == '__main__':
MyApp().run()