Невозможно отобразить объекты при встраивании i python с помощью qtConsole в win10 - PullRequest
0 голосов
/ 09 марта 2020

Я вложил QTConsole с Ipython. Все отлично работает, когда я пытаюсь визуализировать объекты через IPython в Linux / Ubuntu, но в Win10 это не может быть отрисовано.

хотя я могу визуализировать любые другие объекты в отдельном окне на win10.

Вот мой фрагмент кода:

def run_embedded(theQueue):
param=theQueue.get()
handler=param[0]
connection_file=param[1]
handler.create_ui(connection_file)

def embed(handler):
connection_file = os.path.join(
    tempfile.gettempdir(),
    'connection-{:d}.json'.format(os.getpid()))
try:
    param=(handler, connection_file)
    m=multiprocessing.Manager()
    queue=m.Queue()
    queue.put(param)

    p=Pool(processes=2)
    p.map_async(run_embedded,(queue,))

    IPython.embed_kernel(
        local_ns=sys._getframe(1).f_locals,
        connection_file=connection_file,
        # gui='qt4',
    )

finally:
    try:
        os.unlink(connection_file)
    except OSError as exc:
        if exc.errno != errno.ENOENT:
            raise

class numManager(BaseManager):
pass

numManager.register('Handler', Handler)

def main():
m = multiprocessing.Manager()
mymanager = numManager()
mymanager.start()
handler = mymanager.Handler()
embed(handler)

if __name__ == "__main__":
main()

1 Ответ

0 голосов
/ 27 апреля 2020

Наконец, я решил свою проблему, используя Kernel Manager для обработки моих процессов

...