Проблема в пути. RegistrationScreen.py (вероятно) сжимается внутри dist / library.zip, но ваш вызывающий код ищет его в dist / RegestrationScreen.py.
Я не знаю, какое лучшее решение для этого ... py2exe - своего рода боль для доступа к файлам.
Кроме того, вы, вероятно, не хотите делать subprocess.Popen(["python", "RegistrationScreen.py"])
, потому что вы не можете гарантировать, что у ваших пользователей будет установлен python и он доступен для всей системы. Если вам действительно нужен отдельный процесс, то, возможно, вам следует запустить py2exe на RegistrationScreen.py индивидуально, чтобы создать отдельный .exe, а затем включить его в папку dist вашего основного .exe?
Я знаю, что это несколько запутанно, но, вероятно, это сработает. И, как я уже сказал, может быть, есть лучший способ.