O uso do pyinstaller no parmap causa um erro de importação do tkinter matplotlib. Por quê?

Atualizar

Se eu tentar fazer o downgrade do Pyinstaller 3.2 para 3.1, obtenho o seguinte rastreamento ao tentar executar o executável.

Eu tentei adicionar--hidden-import=collect_submodules('pkg_resources._vendor') ao pyinstaller, conforme observado aqui, mas não teve efeito. Mesmo erro. Parece que isso ocorreu devido a um problema com o setuptools. Estou usando 26.0.0. O downgrade para a versão 19.3, que muitas fontes dizem que corrige o problema, corrige esse problema, mas volto ao problema que tenho abaixo.

Eu tenho um projeto python 2.7 pyqt4 que estou tentando transformar em .exe usando pyinstaller. Eu uso:

pyinstaller --additional-hooks-rir=. --clean --win-private-assemblies pipegui.py

pipegui.py pode ser encontrado no githubaqui

Recebo um executável funcional e o aplicativo parece funcional.Aqui é o que o terminal cospe enquanto o pyinstaller está congelando. No entanto, o aplicativo falha quando executo partes específicas do meu programa. Ele trava e o terminal entra em loop continuamente, produzindo o mesmo retorno abaixo com "Poolworker-X" no topo, aumentando continuamente:

Como você pode ver, o tkinter está implicado, apesar da palavra "tkinter" não aparecer em parte alguma do meu projeto (usando pyqt4). Estou usando o matplotlib e a partir das respostas discutidasaqui eaqui Eu adicionei o seguinte ao topo dapipegui.py meu script principal:

    from Tkinter import * 
    import Tkinter
    import FileDialog

No entanto, isso parece ser um passo na direção errada, porque depois de congelar com isso (e os mesmos sinalizadores de antes) meu executável nem abre e, em vez disso, entendo:

Aqui é a saída praticamente idêntica do pyinstaller durante o congelamento. Lembre-se de que tudo o que fiz foi adicionar essas três instruções de importação acima. É isso aí.

Eu também tentei pyinstaller--additional-hooks=. --clean --win-private-assemblies --hidden-import=Tkinter pipegui.py e não fez diferença. Estou completamente perplexo com o motivo pelo qual tentar importar o tkinter está fazendo isso. Consertar esse retorno me levará mais perto de resolver o outro?

Depois de tentar tudo isso, só descobri que as únicas partes do meu executável que estão travando são aquelas que fazem uso deparmap multiprocessamento. As classes que usam o matplotlib, mas não o parmap, estão funcionando bem.

Portanto, observe minha pergunta: como o primeiro traceback pode ser corrigido e também por que o matplotlib e o tkinter estão aparecendo no traceback, apesar do meu código em que a falha ocorre usando o niether?

Notas extras

eu uso--clean --win-private-assemblies Consertarerror code 14001 conformeaqui

questionAnswers(1)

yourAnswerToTheQuestion