Pyinstaller и Pyro4

Я создал простой пиро-сервер и попытался упаковать его с помощью pyinstaller, но всякий раз, когда я пытаюсь запустить исполняемый файл, вызывая "./main --s", а затем на другой вкладке терминала "./main --c", код дает мне правильный вывод, но когда я смотрю на монитор активности, постоянно появляются новые экземпляры моего исполняемого файла. Прерывание пользователем экземпляров оболочки не оказывает никакого влияния, и эти процессы продолжают порождаться, пока я полностью не перезапущу свою систему.

Вот мой основной скрипт, который я компилирую как исполняемый файл:

from face_id.face_id import server, client
from multiprocessing import freeze_support
import sys

if __name__ == "__main__":
    freeze_support()

    if sys.argv[1] == '--s':
        server_start()
    elif sys.argv[1] == '--c':
        client_test()

вот определения классов для пиро:

from __future__ import print_function
import Pyro4
import time
import sys
import cv2

sys.path.append('./')
import face_id.face as face


@Pyro4.expose
@Pyro4.behavior(instance_mode="single")
class FaceIDServer(object):
    def __init__(self):
        pass

    def test_server(self):
        return 'hello world'


class FaceIDClient:
    def __init__(self):
        sys.excepthook = Pyro4.util.excepthook
        self.server = Pyro4.Proxy("PYRONAME:face_id.server")

    def test(self):
        print(self.server.test_server())


def server_start():
    Pyro4.Daemon.serveSimple(
        {
            FaceIDServer: "face_id.server"
        },
        ns=True)


def client_test():
    client = FaceIDClient()
    client.test()

Кроме того, эти процессы, которые запускаются, используют гораздо больше процессорного процента, чем сценарий при запуске через python. Если я смотрю монитор активности или 'top -u', я вижу, что новый процесс запускается каждые пару секунд. Эти проблемы становятся намного хуже, когда я использую свой полный код приложения вместо этого простого примера.

Кроме того, да, я использую новейший pyinstaller, я пытался заморозить многопроцессорность, сервер имен работает правильно, но независимо от того, что я делаю, эта проблема сохраняется.

0 ответов

Другие вопросы по тегам